当用户发送特定消息时,如何使用 Discord py 通过网络钩子发送不和谐消息

时间:2021-03-18 05:06:01

标签: python discord discord.py webhooks

我正在尝试创建一个模仿该消息指定的用户的基本机器人。

我还不明白如何获取用户 ID,然后获取该用户的昵称和个人资料图片。我做了一个演示来简单地模仿调用机器人命令的用户,但这会导致机器人不断重复消息的无限循环。


@client.event

async def on_ready():

    print('We have logged in as {0.user}'.format(client))

@client.event
async def on_message(message):
    
    if message.author == client.user:
        return
    
    if message.content=='!test':
        webhook = Webhook.from_url('webhook url here', adapter=RequestsWebhookAdapter())
        
        a=message.content
        webhook.send(content=a, username=message.author.display_name, 
                        avatar_url=message.author.avatar_url,wait=True)
        

1 个答案:

答案 0 :(得分:0)

简单,检查消息是否由网络钩子发送。

async def on_message(message):
   if message.webhook_id:
       return
   # other stuff here

参考:

  • webhook_id 是一个可选整数,普通消息的 webhook_id 为 None。