Ответ бота на его пинг в дискорде

Я хотел бы сделать так чтобы после того как я буду @упоминать бота, он будет отправлять сообщения в ответ, не подскажете как это сделать?


Ответы (2 шт):

Автор решения: RAINGM

Можно через on_message

@bot.event
async def on_message(message):
    if message.content == "<@!id>":
        ...
→ Ссылка
Автор решения: Forevor Base

Вы можете сделать что-то похожее на генератор рандомных сообщений при упоминании бота, или что-то в этом роде. Смотрите, как это можно сделать:

@bot.event
async def on_message(message):
    randommessage=['Зачем ты это сделал?', 'Привет, привет!', 'Вау, меня кто-то пинганул? Круто.']
    botuserid = f'<@!{bot.user.id}>'
    if botuserid  in message.content:
        await message.channel.send(f"{random.choice(randommessage)}")

А можно без рандомного сообщения при пинге. Просто убираете:

randommessage=['текст1', 'текст2']`

и в:

await message.channel.send('пишите свой текст!')
→ Ссылка