我的机器人在多台服务器中,并且我希望使其仅在特定服务器中侦听命令。这是我的代码:
@client.command()
async def test(ctx):
server = ctx.message.guild
our_server = ('806969018689781870')
if server.id == our_server:
await ctx.send("Test confirmed!")
在这里,我获得了在其中触发命令的服务器的ID。然后,我看它是否等于我要限制它的服务器的ID。如果是这样,命令将被执行。
但是,这似乎不起作用。它不执行命令,并且没有任何错误。我是编程的新手,所以任何见识将不胜感激。
ID是整数,您正在比较一个字符串
our_server = 806969018689781870
if server.id == our_server:
await ctx.send("Test confirmed")
另外,如果您不想在每个命令前都放这个,可以进行全局检查
@client.check
async def check_guild(ctx):
return ctx.guild.id == 806969018689781870
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句