我想列出一个包含ID不和谐服务器的列表,这些服务器要禁用我的机器人的某些功能。 例如:当某人进入服务器时,on_member_join方法将不会发送消息,而在启用此功能的另一方,它将发送该人已连接到服务器的消息。但是我不知道如何正确存储ID并使用它。此刻是这样的:
async def serverid(ctx):
sid = ctx.message.guild.id
await ctx.send(sid)
sid = 705735563696799723(取决于ID服务器)
这大概就是我最终想要得到的
async def test(ctx):
f = open('/app/commands/servers.txt', 'r')
servers_sid = f.readlines()
now_sid = ctx.message.guild.id
if now_sid == servers_sid: #i know servers_sid = ['id'] or something similar this is what i have a problem with
await ctx.send('Command disabled')
else:
#command execution
我知道servers_sid = ['id']或类似的东西,这就是我遇到的问题
答案 0 :(得分:1)
您应该使用splitlines
,以免携带\n
。我将其设为not in
,如果它不在文件中,则它将结束
async def test(ctx):
with open('/app/commands/servers.txt', 'r') as f:
servers_sid = f.read().splitlines()
now_sid = str(ctx.message.guild.id)
if now_sid not in servers_sid:
await ctx.send('Command disabled')
return
await ctx.send('This is working')
#command execution
我假设您的txt文件是这样的。
123
456
789