Discord бот, взаимодействия API

только начал кодить, очень заинтересовала эта тема со «взаимодействиями» в чате серверов.

не понимаю как сделать упоминание при отправке ботом сообщения.

также очень хотел бы узнать, как добавлять собственный архив gif (на сайте GIPHY), откуда и можно брать подобное.

Прикреплю скриншот действия, которое хотел бы понять. Всем заранее спасибо.

введите сюда описание изображения


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

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

Давайте зайдем в документацию по библиотеке discord-py, в раздел discord.User.

В списке Attributes видим атрибут mention (упоминание), который можем применить к объекту пользователя.

Чтобы получить объект пользователя, сразу зададим тип объекта аргумента при создании функции:

@bot.command()
async def mention(ctx, user: discord.User):
    # действия при вызове команды

Таким образом, при получении аргумента user, он сразу же будет преобразован из типа str к типу discord.User.

Далее, можем упомянуть его в сообщении через атрибут:

await ctx.send(f'{ctx.author.mention} упомянул пользователя {user.mention}')

Полный код:

import discord
from discord.ext import commands

bot = commands.Bot(command_prefix='!', intents = discord.Intents.all())

@bot.command()
async def mention(ctx, user: discord.User):
    await ctx.send(f'{ctx.author.mention} упомянул пользователя {user.mention}')

bot.run('TOKEN')

Не забудьте указать ваш токен в конце!

→ Ссылка