Python 运行令牌Discord.py
为什么这样不行?有没有办法运行这样的令牌。您可以通过创建将同时在同一线程上运行的多个任务,使用Python 运行令牌Discord.py,python,discord,Python,Discord,为什么这样不行?有没有办法运行这样的令牌。您可以通过创建将同时在同一线程上运行的多个任务,使用asyncio模块运行多个bot。这是我不久前写的一个老剧本: import discord from discord.ext import commands, tasks tokens = [ 'dgfggg.YJK14Q.rgrgrgrgrgrgrgrgrg-ZjlvsPyQXE', 'adddawd.YJK3BQ.grsggrgrgrgrgrg-Y', 'wadwdwad
asyncio
模块运行多个bot。这是我不久前写的一个老剧本:
import discord
from discord.ext import commands, tasks
tokens = [
'dgfggg.YJK14Q.rgrgrgrgrgrgrgrgrg-ZjlvsPyQXE',
'adddawd.YJK3BQ.grsggrgrgrgrgrg-Y',
'wadwdwad.YJK37g.gfregrgegfegefte4tyg'
]
bot = commands.Bot(command_prefix="//")
for token in tokens:
print(token)
bot.run(f"{token}", bot=False)
注意:您必须确保令牌
列表中的所有令牌有效,或者您可以创建令牌检查器。否则,脚本将抛出无效的令牌错误
import asyncio
import discord
from discord.ext import commands
tokens = ['token1', 'token2', 'token3']
class myBot(commands.Bot):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
async def on_ready(self):
print('bot ready')
try:
loop = asyncio.get_event_loop()
tasks = []
for i, token in enumerate(tokens): # putting all of the bot tokens into tasks
temp = myBot(command_prefix='//')
temp.token = token
try:
# Using .start function here because .run, .connect, and .login functions all have some complex checks for "connection" I'm not 100% sure what the difference between those functions are, but hey, .start function works fine.
tasks.append(loop.create_task( temp.start(token) ))
except Exception as e:
print(f'unable to login into bot #{str(i)}')
# run the bots
gathered = asyncio.gather(*tasks, loop=loop)
loop.run_until_complete(gathered)
except KeyboardInterrupt:
print('Exiting...')