它不允許我向我的函式傳遞多個引數。Python 一直認為我仍然在定義第一個引數。代碼:
async def find(ctx, user, parachannel)。
user = int(user)
parachannel = int(parachannel)
funchannel = bot.get_channel(parachannel)
fun_guild = bot.get_guild(880108797820026881)
memberuser = fun_guild.get_member(user)
fun_calc =0
async for message in funchannel.history(limit=10)。
if message.author == memberuser:
fun_calc = fun_calc 1
return fun_calc
gen_calc = find(user, 880123663318409277)
print(gen_calc)
得到這個錯誤:
discord.ext.command.errors.CommandInvokeError。命令引發了一個例外。TypeError: find() missing 1 required positional argument: 'parachannel'/p>
完整回溯:
202109-16T11:40:52。 403142 00:00app[worker.1]。忽略例外 in command analyze:
2021-09-16T11:40:52. 404102 00:00app[worker.1]。回溯(最近一次呼叫)。
2021-09-16T11:40:52. 404120 00:00app[worker.1]。 檔案"/app/.heroku/python/lib/python3.6/site-packages/discord/ext/commands/core .py",行85,in包裹了
2021-09-16T11:40:52. 404121 00:00 app[worker.1]: ret = await coro(*args, **kwargs)
2021-09-16T11:40:52。 404122 00:00app[worker.1]。 檔案 "main.py", 行 132, in分析
2021-09-16T11:40:52。 404123 00:00app[worker.1]: gen_calc = find(user, 880123663318409277)
2021-09-16T11:40:52. 404142 00:00app[worker.1]。TypeError: find() 缺少1必需的位置引數。'parachannel'。
2021-09-16T11:40:52. 404151 00:00app[worker.1]。
2021-09-16T11:40:52. 404152 00:00app[worker.1]。上述例外是導致以下例外的直接原因。
2021-09-16T11:40:52. 404152 00:00app[worker.1]。
2021-09-16T11:40:52. 404154 00:00app[worker.1]。回溯(最近一次呼叫)。
2021-09-16T11:40:52. 404170 00:00app[worker.1]。 檔案"/app/.heroku/python/lib/python3.6/site-packages/discord/ext/commands/bot.py", 行 939, in invoke
2021-09-16T11:40:52. 404170 00:00app[worker.1]。 await ctx.command.invoke(ctx)
2021-09-16T11:40:52. 404172 00:00app[worker.1]。 檔案 "/app/.heroku/python/lib/python3.6/site-packages/discord/ext/commands/core.py", 行 863, in invoke
2021-09-16T11:40:52. 404173 00:00app[worker.1]。 await injected(*ctx.args, **ctx.kwargs)
2021-09-16T11:40:52. 404181 00:00app[worker.1]。 檔案"/app/.heroku/python/lib/python3.6/site-packages/discord/ext/commands/core.py",行94,in包裹了
2021-09-16T11:40:52. 404181 00:00app[worker.1]。 raise CommandInvokeError(ex) from exc
2021-09-16T11:40:52. 404195 00:00 app[worker.1]: discord.ext.command.errors.CommandInvokeError: 命令引發了一個例外。TypeError: find() 缺少1必需的位置引數。'parachannel'。
uj5u.com熱心網友回復:
find(ctx, user, parachannel)函式需要三個引數。ctx, user 和parachannel。但當你呼叫該函式時,你只給出兩個引數。ctx = user和user = 880123663318409277。你缺少第三個引數parachannel。
uj5u.com熱心網友回復:
你的函式需要三個引數,但你只傳了兩個引數給它。所以,你自然會看到一個錯誤。你應該給你的引數一些默認值。比如說像這樣:
async def find(ctx = None, user = "Mushtaq", parachannel = 0)。)
user = int(user)
parachannel = int(parachannel)
... 和你的其余代碼。
uj5u.com熱心網友回復:
如果沒有必要保留ctx作為第一個引數,你可以做
async def find(user。parachannel, ctx = None)。)
# 你的代碼。
return fun_calc
現在你可以在沒有ctx引數的情況下呼叫你的函式。
gen_calc = find(user, 880123663318409277)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/309257.html
標籤:
上一篇:Dart函式沒有回傳預期值
下一篇:<p>我試圖在JavaScript中創建一個程式,其中<code>startTimer</code>函式每隔<code>interval</cod
