两个机器人之间的通信? (discord.py)

Posted

技术标签:

【中文标题】两个机器人之间的通信? (discord.py)【英文标题】:communication between two bots? (discord.py) 【发布时间】:2021-09-07 19:54:16 【问题描述】:

我是第一次使用 discord.py 的初学者和中级程序员。我想创建两个机器人,当一个机器人收到提示时,它们都会像在对话中一样依次发送消息。

这在 discord.py 中是否可行?我考虑在两个不同的 .py 文件中创建两个不同的机器人,为两个机器人的对话的每一行创建变量,然后如果消息内容与变量匹配,则让它们各自提示。但是,我不希望机器人提示该行是否由其他机器人以外的人说。

有什么建议吗?非常感谢!

【问题讨论】:

【参考方案1】:

您可以使用discord-ext-ipc 库。 您可以在两个机器人上设置服务器,并在一个机器人上触发特定事件时交换 Http 消息。

【讨论】:

【参考方案2】:

您可以使用on_message 事件并检查作者的id 是否是第二个bot 的id。示例:

@bot.event
async def on_message(message):
    if not message.author.id == 0000: # id of another bot
        return
    # rest of the code

【讨论】:

非常感谢!!我最终使用 if message.author.bot == True: 而不是 id,但两者都有效! 请注意,输入== True 是不必要的,因为 if 语句已经检查了该值是否为真。所以你可以把if message.author.bot:

以上是关于两个机器人之间的通信? (discord.py)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 discord.py 机器人加入语音通道之间添加暂停?

discord.py和discord.py的区别[voice]

调整图像大小 discord.py

Discord.py:有一个检查有两个不同的错误输出

discord.py 音乐机器人:如何结合播放和队列命令

Discord.py 让机器人复制每条消息,包括文件