我正在建立一个反应角色系统,但是当我与我输入的表情符号反应时,它什么也没做。代码在这里:
@bot.event
async def on_raw_reaction_add(payload):
message_id = payload.message_id
if message_id == 757982178691776635:
guild_id = payload.guild_id
guild = bot.get_guild(guild_id)
if payload.emoji.name == 'white_check_mark':
print('Role')
我在控制台中没有出现错误,并且没有在控制台中打印角色。
答案 0 :(得分:1)
尝试打印payload.emoji.name
的值,通常是表情符号本身。如果您要根据Unicode名称进行匹配,建议您使用unicodedata.name
答案 1 :(得分:0)
您可以从here获取表情符号字符,然后进行比较。
为了便于阅读,我将其缩短了一点。
/**
* @inheritDoc
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('label', TextType::class, [
'label' => false,
'disabled' => true,
])
->add('value', NumberType::class, [
'label' => false,
'mapped' => false,
]);
}
/**
* @inheritDoc
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => Answer::class,
]);
}