我正在使用 python 3.5 的扩展,使其能够与 Discord API 一起作为聊天机器人与用户进行通信。
该扩展向 python 添加了一些对象,包括 Channel 对象,它保存通道的唯一 ID。
在这段代码中;
async def on_message(message):
if message.author==bot.user or message.channel!=CHANNEL:
print("Either not replying to myself, or recieved message from the wrong channel; '"+string(message.channel)+"' when I was expecting '"+(CHANNEL)+"'...")
return
在某些情况下,CHANNEL
是一个常量,设置为我希望机器人与之交互的目标通道,bot
是与服务器的连接,并且bot.user
是一个包含聊天机器人 ID 的成员对象。
if 语句工作正常,但是将 message.channel 转换为字符串时,会显示以下错误;TypeError: 'module' object is not callable
. 为什么是这样?
如果这没有意义,我可以提供更多细节,API 参考也在这里。
编辑:提供了更多的上下文。