#python #discord.py
#python #discord.py
Вопрос:
Мне интересно, как бы я добавил реакции к этому коду без получения каких-либо ошибок или чего-то подобного? Я уже пробовал:
import discord
import os
import replit
import keep_alive
from discord.ext import commands
from discord.utils import get
client = discord.Client()
@client.event
async def on_ready():
print("ready!")
await client.change_presence(activity=discord.Activity(type=discord.ActivityType.watching, name="over PRFL"))
@client.event
async def on_message(message):
if message.content.startswith('<:NewEngland:759084416445710466> offer'):
emoji1 = [':white_check_mark:']
await message.add_reaction(emoji1)
emoji2 = [':x:']
await message.add_reaction(emoji2)
member = message.mentions[0]
await message.channel.send(f'{member.mention} **offered by** <:NewEngland:759084416445710466
Комментарии:
1. Какие ошибки вы получаете?
2.
discord.errors.InvalidArgument: emoji argument must be str, Emoji, or Reaction not NoneType.
3. Не могли бы вы опубликовать свой полный код. Код, который вы опубликовали, не будет работать так.
Ответ №1:
Как указано в вашем сообщении об ошибке, вы ввели недопустимые аргументы в свой add_reaction
вызов.
Кроме того, реакции не работают с :unicode_name_of_character:
синтаксисом, и вы должны либо ввести его обычным способом, либо найти escape-код unicode (белая галочка u2705
и красный крестик u274c
) реакции.
Попробуйте использовать:
emoji1 = 'u2705' # :white_check_mark:
await message.add_reaction(emoji1)
emoji2 = 'u274c' # :x:
await message.add_reaction(emoji2)
(Примечание: вы можете использовать hex(ord('somerandomcharacter')
для получения нужного вам экранирования в Юникоде. Чтобы скопировать их из discord, скопируйте смайлик, а затем вставьте его в блок кода, а затем скопируйте его снова.)
Ответ №2:
Когда вы присваиваете emoji []
своим переменным, вы создаете список.
Также вы не можете использовать сокращение для смайликов с ботом discord.
Итак, вместо :white_check_mark:
того, чтобы вы можете использовать сам смайлик ✅
Или вы можете использовать юникод 'u2705'
, поэтому вам нужно сделать:
emoji1 = '✅'
или
emoji1 = 'u2705'