我对编码很陌生,而且我只是想知道我是否可以获得一些基于Frost Bot的不和谐机器人的帮助。
这个想法非常简单,Frost会回复用户,但我已经删除了提及回复的必要性。 我也有一个双机器人,他的想法是让他们交谈,他们这样做,但似乎他们正试图回应他们自己所说的话,这导致积压的回复问世
以下是用Python编写的大部分代码 - 如果重要的话。
@client.event
async def on_ready():
print('Logged in as '+client.user.name+' (ID:'+client.user.id+') | '+str(len(client.servers))+' servers')
await client.change_presence(game=discord.Game(name='chat with me!'))
@client.event
async def on_message(message):
if not message.author.bot == client.user:
await client.send_typing(message.channel)
txt = message.content.replace(message.server.me.mention,'') if message.server else message.content
r = json.loads(requests.post('https://cleverbot.io/1.0/ask', json={'user':user, 'key':key, 'nick':'frost', 'text':txt}).text)
if r['status'] == 'success':
await client.send_message(message.channel, r['response'] )
任何帮助都会受到重视,因为我对脚本/编码非常陌生,并且已经花了几个小时试图研究解决方案。
答案 0 :(得分:1)
改为message.author.id == otherBotID: #stuff
。
如果您有多个其他机器人进行对话,请切换到NOT操作员并将其作为您自己的机器人ID,然后检查消息作者是否是机器人。
将其替换为if not message.author.bot == client.user:
最初,您正在检查消息的作者是否不是用户。如果它不是用户你会做的东西。
但是,由于您自己的机器人本身不是用户,因此当您的机器人发送消息(并收到它自己的消息)时,if语句也会通过。
因此,我们将使用if语句来检查机器人的ID是否等于目标机器人的ID。