Ваш первый код использует древнюю, устаревшую и неподдерживаемую версию dpy.
Вы в основном корректно обновили его во втором коде, за исключением нескольких ошибок, таких как on_message .
Это не работает, потому что принимает только один аргумент message
, в этом событии нет ctx
.
Таким образом, событие передает один аргумент, но ваша функция принимает 2, таким образом, ошибку. Правильный код будет: async def on_message(message):
Но теперь вы будете озадачены тем, что делать с этой строкой, которую вы написали: await ctx.send(channel, message.content)
Даже если бы существовал ctx
, этого бы не было работать, потому что отправка больше не занимает пункт назначения, вместо этого вы вызываете send по назначению destination.send("Hello")
, так что перевод в ваш код, если channel
- это место, куда вы хотите отправить, будет await channel.send(message.content)
Также один последний Заметьте, я заметил, что вы использовали здесь строку: bot.get_channel('channel ID')
это может быть вы просто приводите пример, но помните, что идентификаторы являются целыми числами , если вы передадите строку, она никогда не найдет этот канал.
Например, это неверно : bot.get_channel('123456789111315178')
И это будет действительно: bot.get_channel(123456789111315178)