【发布时间】:2021-04-06 23:41:45
【问题描述】:
我正在尝试使命令在 2 个贸易渠道中工作,因为它是为了检查人们的担保以查看他们是否值得信赖。我当前的代码不起作用,但在这里
@client.command()
async def vouches(ctx, member : discord.User=None):
if None == member:
await open_vouches(ctx.author)
user = ctx.author
users = await get_vouch_data()
vouches_given = users[str(user.id)]["vouches_given"]
vouches_gotten = users[str(user.id)]["vouches_gotten"]
embed = discord.Embed(title='Trade vouches!',color=0x1d9521)
embed.add_field(name='Vouches Gotten✨',value=vouches_gotten, inline=False)
embed.add_field(name="Vouches Given????", value=vouches_given, inline=False)
await ctx.reply(embed=embed)
elif ctx.channel.id != 813832766248583199:
await ctx.send("You can't vouch in this channel")
return
elif ctx.channel.id != 813832801220689931:
await ctx.send("You can't vouch in this channel")
return
else:
await open_vouches(member)
users = await get_vouch_data()
vouches_given = users[str(member.id)]["vouches_given"]
vouches_gotten = users[str(member.id)]["vouches_gotten"]
embed = discord.Embed(title=f'{member}\'s Trade vouches!',color=0x1d9521)
embed.add_field(name='Vouches Gotten✨',value=vouches_gotten, inline=False)
embed.add_field(name="Vouches Given????", value=vouches_given, inline=False)
await ctx.reply(embed=embed)
print('[LOGS] bot was used for Vouches')
但是 elif: 部分是我想要使用的。我之前问过一个与此类似的问题,但只使用一个渠道,所以请帮助我。提前谢谢你,是的,我试过把身份证放在一起等等
【问题讨论】:
-
到底是什么问题?说“它不起作用”对我们在这里帮助您没有多大帮助。有什么错误吗?有什么奇怪的行为吗?尝试调试打印以查看您到达的代码部分以及您没有到达的代码部分?
-
好吧,它甚至没有尝试工作,因为它只是被忽略了,命令仍然继续
-
你是如何使用命令的?
-
我在做 =vouches,它会告诉一个人他们有多少担保以及他们提供了多少担保
-
如果你这样做,那么
member总是None因为你没有通过一个,它会进入你的第一个if,而不是下面的那个频道id 已检查。
标签: python json discord discord.py