【问题标题】:Discord.py Server Boost EventDiscord.py 服务器提升事件
【发布时间】:2021-05-11 09:14:18
【问题描述】:

有没有办法在新的服务器提升服务器时发送消息,例如服务器提升事件或类似的事情?

@commands.Cog.listener()
async def server_get_boosted(self, member):
    print(str(member))

这样的

【问题讨论】:

    标签: python discord bots discord.py


    【解决方案1】:

    没有直接的方法可以做到这一点。这不是discord.py 的限制,Discord API 根本不提供这样的事件。

    但是,硝基助推器会自动分配一个不可撤销的“硝基助推器”角色,您可以查询该角色作为解决方法。

    您可以通过在on_member_update 事件中检查用户是否具有新角色——“nitro booster one”——来做到这一点。

    来源:this feature request

    【讨论】:

      【解决方案2】:

      没有专门在服务器提升时发送的事件。

      但是,当发送服务器提升消息时,会触发 on_message 事件。该消息将具有MessageTypepremium_guild_subscription

      所以你可以这样:

      @client.event
      async def on_message(message):
          if message.type == discord.MessageType.premium_guild_subscription:
              print(str(message.author))
      

      来源:

      MessageType

      premium_guild_subscription

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-01
        • 1970-01-01
        • 2020-06-27
        • 1970-01-01
        • 2011-01-31
        相关资源
        最近更新 更多