Как проверить, к каким серверам присоединился мой дискорд-бот? discord.py - PullRequest
0 голосов
/ 08 сентября 2018

Я хочу проверить, на каких серверах находится мой диск-бот, заметьте, я понятия не имею, как использовать discord.client (бот написан на discord.py)

код, который я пробовал до сих пор:

@bot.command(pass_context=True)
async def servers(ctx):
client = discord.Client()
servers = list(client.servers)
await bot.say("Connected on " + str(len(client.servers)) + " servers:")
for x in range(len(servers)):
    await bot.say(" "+servers[x-1].name)

(обратите внимание, что отступ выполнен правильно, но переполнение стека не показывает его правильно)

Ответы [ 2 ]

0 голосов
/ 20 января 2019

Это работает для меня и с https://www.devdungeon.com/content/make-discord-bot-python-part-2:

  async def list_servers():
  await client.wait_until_ready()
  while not client.is_closed:
     print("Current servers:")
     for server in client.servers:
        print(server.name)
     await asyncio.sleep(600)

client.loop.create_task(list_servers())
0 голосов
/ 08 сентября 2018

Вы можете сделать что-то вроде этого

@bot.command()
async def servers():
  servers = list(bot.servers)
  await bot.say(f"Connected on {str(len(servers))} servers:")
  await bot.say('\n'.join(server.name for server in servers))
...