【问题标题】:Discord.py API: how do I properly refer to discord user if I have their username?Discord.py API:如果我有用户名,如何正确引用不和谐用户?
【发布时间】:2020-11-15 10:01:25
【问题描述】:

我正在尝试调用这个函数:

async def send_dm(ctx, member: discord.Member, *, content):
    channel = await member.create_dm()
    await channel.send(content)

使用此代码:

for i in pokeractiveplayers:
        #name = ???
        card1 = pokerdeck[0]
        pokerdeck.pop(0)
        card2 = pokerdeck[0]
        pokerdeck.pop(0)
        await send_dm(ctx, name, f"""Your hand is: ```
        {card1}, {card2}
        ```""")

但是我不知道如何正确引用用户以便函数接受它。我拥有的信息是用户的用户名和####(例如 blahblah#1234),但我只有一个字符串,当我尝试将其作为“成员”arg 输入时,它不被接受。

【问题讨论】:

    标签: python api discord bots discord.py


    【解决方案1】:

    您需要首先使用获取成员对象并将其传递给send_dm 函数。您可以使用get_member() 执行此操作。

        user = client.get_member(user_id)
        await send_dm(ctx, user, f"""Your hand is: ```
        {card1}, {card2}
        ```""")
    

    【讨论】:

    • 我尝试了 get_member() 但我收到了一个错误,因为它显然已经过时了,如下所示:github.com/Rapptz/discord.py/issues/2138 - 所以我使用了提供的替代方案 client.fetch_user 但是当我像这样输入 id 时: client.fetch_user(152820855544610816) 我收到此错误:TypeError: fetch_user() missing 1 required positional argument: 'user_id'
    猜你喜欢
    • 2017-09-18
    • 2022-01-02
    • 2021-10-01
    • 2021-05-22
    • 2019-08-06
    • 1970-01-01
    • 2018-10-20
    • 2021-06-06
    • 2019-05-09
    相关资源
    最近更新 更多