Обновление количества участников — Discord.py

#python #python-3.x #discord #discord.py

#python #python-3.x #Discord #discord.py

Вопрос:

Я пытаюсь создать обновляющее количество участников роли. Этот код работает, но он обновляет количество участников только при перезапуске бота, а не каждые 5 секунд.

 @tasks.loop(seconds=5)
async def member_count_refresh():
    guild = client.get_guild(593941391110045697)
    member_count = guild.member_count
    channel = client.get_channel(700895165665247325)
    embedvar = discord.Embed(title=f"Total member count: {member_count}", color=0x00ff00)
    msg = await channel.fetch_message(770472133281316914)
    await msg.edit(embed=embedvar)


@client.event
async def on_ready():
    member_count_refresh.start()
  

Ответ №1:

Я нашел другой способ сделать это, используя функции on_member_join() и on_member_remove() . Вот мой пример рабочего счетчика активных участников: (учитывая, что вы уже отправили сообщение о внедрении)

 @client.event
async def on_member_remove(member):
    guild_id = member.guild.id
    guild = client.get_guild(guild_id)
    member_count = guild.member_count
    channel = client.get_channel(1234567890)
    embedvar = discord.Embed(title=f"Total member count: {member_count}", color=0x00ff00)
    if guild_id == 1234567890:
        msg = await channel.fetch_message(770472133281316914)
        await msg.edit(embed=embedvar)