获取完整服务器列表

问题描述 投票:0回答:1

那么如何获得我的机器人连接或安装的所有服务器列表。我使用下面的代码,但它现在不知道为什么。

servers = list(bot.servers)
print("Connected on " + str(len(bot.servers)) + "servers:")
for x in range(len(servers)):
    print('  ' + servers[x-1].name)

我的bot.py完整代码

token = "This is my Token" # This is what the bot uses to log into Discord.
prefix = "?" # This will be used at the start of commands.

import discord
from discord.ext import commands
from discord.ext.commands import Bot

bot = commands.Bot(command_prefix=prefix)
bot.remove_command("help")

@bot.event
async def on_ready():
    print('Logged in as')
    print(bot.user.name)
    print(bot.user.id)
    print(discord.__version__)
    print('------')

@bot.command(pass_context=True)
async def ping(ctx):
    msg = 'Pong {0.author.mention}'.format(ctx.message)
    await bot.say(msg)

@bot.command(pass_context=True)
async def hello(ctx):
    msg = 'hello... {0.author.mention}'.format(ctx.message)
    await bot.say(msg)

bot.run(token)
python python-3.x discord discord.py
1个回答
2
投票

不知道你在哪里使用代码查找服务器,但在你的情况下使用bot.servers确实返回了机器人可以看到的所有服务器的可迭代。

您可以修改on_ready事件以打印出所有服务器名称。

@bot.event
async def on_ready():
    print('Logged in as')
    print(bot.user.name)
    print(bot.user.id)
    print(discord.__version__)
    print('------')

    print('Servers connected to:')
    for server in bot.servers:
        print(server.name)
© www.soinside.com 2019 - 2024. All rights reserved.