#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)