首页 > 解决方案 > 从反应中获取用户 ID

问题描述

我正在为我的机器人创建一个票证系统,但我不知道如何获取做出反应的用户的 ID。

这是我的代码:

@Client.event
async def on_raw_reaction_add(TicketID, user):
    username = user
    message_id = TicketID
    if message_id == message_id:
        channel = await Client.create_text_channel(username + " - ticket")

我尝试使用 user 作为 ID,但我收到此错误:

TypeError: on_raw_reaction_add() missing 1 required positional argument: 'user'

有谁知道如何修理它?

标签: pythondiscord.py

解决方案


您收到此错误是因为您向函数添加了一个额外的参数,而文档中没有该参数。这意味着 Discord 不会知道它必须传递用户 ID,所以它不会,这将导致您看到的错误。

可以RawReactionActionEvent.user_id用来获取用户的id。

@Client.event
async def on_raw_reaction_add(payload):
    userid = payload.user_id

推荐阅读