将 discord 用户 ID 传递给 discord 自动完成斜杠命令

问题描述 投票:0回答:0

我正在尝试根据他的Discord ID向发出命令/利润的用户提供自动完成消息:例如,如果他的用户ID

3217621823178213
,那么他得到的自动完成与具有的用户不同身份证
854848548854
.

    @bot.slash_command(name="profit", description="Calculate profit of NFT Flip")
    async def animal_command(
      ctx: discord.ApplicationContext,
      collection: discord.Option(str, autocomplete=discord.utils.basic_autocomplete(get_list_from_db))
    ):

我的问题是我不知道如何在get_list_from_db上获取

User ID
,因为如果我使用
ctx.author.id
我会得到以下错误:

AttributeError: 'AutocompleteContext' object has no attribute 'author'

代码:

    async def get_list_from_db(ctx: discord.AutocompleteContext):
    collectionNames = []

    R = requests.get("API")
    if (R.status_code == 201 or R.status_code == 200):
        parse = json.loads(R.text)

        closedPositions = parse['data']['traderData']['closedPositions']
        openPositions = parse['data']['traderData']['openPositions']


    
    for p in closedPositions:
            if p['nftContractName'] not in collectionNames:
                collectionNames.insert(0,p['nftContractName'])

    return collectionNames

基本上我需要在

get_list_from_db
上选择用户 ID 或者可能将 userid 传递给该函数的方法。

提前感谢您的任何建议!

python discord autocomplete slash userid
© www.soinside.com 2019 - 2024. All rights reserved.