discord.py:如何显示bot所在的服务器数量?

时间:2018-12-06 01:05:55

标签: python python-3.x discord discord.py

我已经尝试过多次,但都没有成功。

Python版本:3.6

discord.py:异步

5 个答案:

答案 0 :(得分:0)

Client.servers是机器人所属的Server对象的可迭代对象。您可以使用len来获取其长度:

len(client.servers)

答案 1 :(得分:0)

尝试一下;

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

答案 2 :(得分:0)

由于我认为您正在尝试将其设置为“正在播放”状态,因此这是我为我的机器人所做的(在Python 3.6上完美运行): 因此,您将拥有on_ready任务来告诉您该机器人何时登录:

@client.event
async def on_ready():
    print('The bot is logged in.')
    await client.change_presence(activity=discord.Activity(type=discord.ActivityType.watching, name=f"{len(client.guilds)} servers!"))

这将表示正在监视(服务器数量)服务器!关于您的状态,但是对于“正在播放”状态,您可以尝试以下操作:

@client.event
async def on_ready():
    print('The bot is logged in.')
    await client.change_presence(activity=discord.Game(name=f"{len(client.guilds)} servers!"))


答案 3 :(得分:0)

const Gallery = ({data, category}) => {
    const [photos, setPhotos] = useState([]);
    
    useEffect(()=>{
        let temp = []
        if (category === 'All'){
            setPhotos(data)          
        }else{
            data.map(item => {
               temp.push(item)
            })
        }
        setPhotos(temp)
    }) 
    return(
       photos.map((item => 
           <img key={item.id} src={item.image}/>
       ))
    )
};

export default Gallery;

答案 4 :(得分:0)

要将其设置为您的机器人状态,这将是一个示例:

f"over {len(client.guilds)} servers.

可以找到更多信息here