我正在使用costum设置为多台服务器创建一个机器人,我正在使用:
Guild\u Settings.py
import json
class LoadGuildSettings:
def get_prefix(self, message):
try:
with open('config/server_prefix.json', "r") as fp:
prefixes = json.load(fp)
return prefixes[str(message.guild.id)]
except IOError:
return
def get_command_channel(self, message):
try:
with open('config/server_command.json', "r") as fp:
prefixes = json.load(fp)
return prefixes[str(message.guild.id)]
except IOError:
return
main.py
async def on_message(message):
name = message.author
c = guild_setings.LoadGuildSettings().get_command_channel(message)
cmd = guild_setings.LoadGuildSettings().get_prefix(message)
if not message.channel == c:
return
现在我的问题是:
if not message.channel == c:
不起作用,但
if message.content.startswith(cmd+'tc')
很好用
我不知道
get_command_channel()
返回什么,因为您还没有显示json文件,但我假设它是一个string
或int
列表。“不工作”的代码试图将discord.Channel
实例与strings
/ints
进行比较,这将始终返回false,因此它将始终进入if
-语句和return
中。我建议你去商店&;相反,比较通道的id's
编辑:在评论中提供更多信息后
是的,您确实在尝试将
discord.Channel
实例与string
实例进行比较。您只需首先从通道中取出id
相关问题 更多 >
编程相关推荐