Если вы хотите использовать команду, обязательно импортируйте команды, а затем создайте параметр контекста. Например:
import discord
from discord.ext import commands
bot = commands.Bot(command_prefix='$')
@bot.command()
async def say(ctx, message=None)
await ctx.send(message)
bot.run("TOKEN HERE")
Эта команда будет выполнена $say message
, потому что, когда мы определили бот, мы устанавливаем префикс, а когда мы задали команду, мы сделали async def name
, и, очевидно, наша команда называется say.
Таким образом, в случае разногласий, когда ваш бот работает, вы можете сделать $say good morning!
, и бот ответит на этом канале good morning!
.
ctx.send - сопрограмма, поэтому мы его и ждали перед ним. И ctx определяет канал, в то время как сообщение является нашим параметром сообщения.
Некоторые полезные ресурсы: