Discord.py在一个脚本中运行两个bot实例

2024-05-17 19:48:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个discord机器人,它需要在一个while(True)循环中运行,同时还需要接收命令。我认为我能用我的程序实现这一点的唯一方法是运行两个独立的bot实例。比如说:

client = commands.Bot(command_prefix = '!');       
client2= commands.Bot(command_prefix = '.');

然后在底部:

client.run('TOKEN')
client2.run('TOKEN')

我试过了,但没用。我做错了什么?有没有一种方法可以从一个脚本运行两个bot,或者同一个bot两次


Tags: 方法run命令clienttokentrueprefixbot
1条回答
网友
1楼 · 发布于 2024-05-17 19:48:06

您需要创建自己的事件循环并使用它运行bot,因为client.run正在阻塞

from discord.ext import commands
import asyncio

client = commands.Bot(command_prefix='!')
client2 = commands.Bot(command_prefix='.')

loop = asyncio.get_event_loop()
loop.create_task(client.start('TOKEN1'))
loop.create_task(client2.start('TOKEN2'))
loop.run_forever()

相关问题 更多 >