【问题标题】:Python 3.8.1 Discord.py Rewrite ReactionsPython 3.8.1 Discord.py 重写反应
【发布时间】:2020-08-14 05:04:58
【问题描述】:

我目前正在为我的服务器开发自定义不和谐机器人。我正在(尝试)创建一个投票系统。所以用户做-poll yn poll question。 yn 部分描述了问题的类型,例如是/否。这是我目前所拥有的:

@client.command()
async def poll(ctx, typee, *, msgg):
    if typee=='yn':
        msg = await ctx.channel.send("@everyone " + msgg)
        reactions = ['a']
        for emoji in reactions: 
            await client.add_reaction(msg, emoji)
        await ctx.message.delete()

运行时出现错误:

discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 'Bot' object has no attribute 'add_reaction'

我正在使用 rewrite 和 python 3.8.1

【问题讨论】:

    标签: python discord discord.py discord.py-rewrite python-3.8


    【解决方案1】:

    我相信你想做await msg.add_reaction(emoji) 而不是await client.add...

    我假设您知道 "a" 不是有效的表情符号,您可以找到名称字典与它们的 unicode here

    另外,如果任何人都可以使用@everyone,也许最好避免包含@everyone!您可以将其限制为具有某些权限的人,或者您自己作为所有者。你可以用装饰器来做到这一点,你可以找到这些here 的大列表。

    【讨论】:

      【解决方案2】:

      add_reaction 方法是消息对象的一部分,而不是客户端对象。你需要的是await msg.add_reaction(emoji) 而不是await client.add_reaction(msg, emoji)

      如果您不知道'a' 不是有效的表情符号,另一件事是。

      【讨论】:

        猜你喜欢
        • 2019-09-06
        • 1970-01-01
        • 2021-05-13
        • 2022-01-24
        • 2019-02-26
        • 2021-03-04
        • 2021-03-12
        • 2021-03-11
        • 2021-10-22
        相关资源
        最近更新 更多