Как заставить бота реагировать на сообщение автора - PullRequest
1 голос
/ 16 июня 2020

поэтому я создаю бота Discord и в своей команде помощи я хочу, чтобы бот добавил реакцию на сообщение команды помощи, примерно так.

enter image description here

Я пытался воссоздать это, но ничего не вышло, помогите, пожалуйста.

1 Ответ

0 голосов
/ 16 июня 2020

Чтобы add_reaction(), вам нужно получить объект сообщения и указать смайлы, которые вы хотите использовать. И поскольку это coroutine, это должно быть await ed.


Emoji:

При указании эмодзи он должен быть одним из следующих:

  • Unicode - \u2705
  • Сам эмодзи - ✅ (если ваша IDE поддерживает его)
  • Имя и ID - <:emoji_name:112233445566778899> (для пользовательских смайлов) - get_emoji() также доступно, возвращает discord.Emoji

Вы можете использовать это веб-сайт, чтобы найти юникод и строковые представления для смайликов, чтобы вставить их.
Для пользовательских смайлов вы можете ввести \:emoji_name: в Discord и отправить сообщение, и вы получите его в формате <:emoji_name:123...> .


Команды:

Благодаря Context мы можем получать сообщение через ctx.message при использовании команд:

@bot.command()
async def cmd(ctx):
    # Do some stuff
    await ctx.message.add_reaction("\u2705")

on_message ():

И нам дается сам объект message в событии on_message:

@bot.event
async def on_message(message):
    await bot.process_commands(message) # Don't forget this is you're using commands too
    if message.content.lower().startswith("!cmd"):
        # Do some stuff
        await message.add_reaction("\u2705")

Ссылки:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...