#discord.py
#discord.py
Вопрос:
Этот код работает для добавления ролей с помощью реакций, но я могу использовать только пользовательские эмоции для реакций, payload.emoji.name
поэтому, когда я устанавливаю его равным electric_plug, он не работает. Есть ли какой-нибудь способ обойти это?
async def on_raw_reaction_add(payload):
message_id = payload.message_id
if message_id == 799030902302834698:
guild_id = payload.guild_id
guild = discord.utils.find(lambda g : g.id == guild_id, client.guilds)
if payload.emoji.name == 'electric_plug':
role = discord.utils.get(guild.roles, name='Electrical')
if role is not None:
member = payload.member
if member is not None:
await member.add_roles(role)
else:
print('no member')
else:
print('no role')
Ответ №1:
Замените имя «electric_plug» для эмодзи в юникоде. Эмодзи в Юникоде выглядят следующим образом: 👍
Вы можете получить эмодзи в Юникоде двумя способами.
Во-первых, вы можете просто просмотреть emojипедию и выполнить поиск нужного смайлика. После этого просто скопируйте тот, который они предоставляют (поле должно выглядеть так):
Второй вариант будет discord, если вы обычно вводите нужный вам эмодзи в юникоде (например, «: thumbsup:»), а затем ставите
перед ним обратную косую черту (). Похоже на это:
После этого отправьте его и скопируйте появившийся смайлик. Он должен выглядеть иначе, чем версия эмодзи, которую вы обычно видите в Discord.
Как только вы получите свой смайлик, ваш код должен выглядеть следующим образом:
if payload.emoji.name == "🔌":