discord py, постоянное обновление информации из json
У меня есть команда, которая по api выводит в Embed онлайн сервера. Могу ли я реализовать такую функцию, чтобы каждую секунду бот обновлял данные из api через message.edit?
embed=discord.Embed(title="", description=f"Сейчас на сервере **{onl}** из **{max_onl} игроков.**", color = 0x2f3136)
await message.edit(embed=embed)
Именно сам обновлял данные, без ввода команды по новой.
Ответы (1 шт):
Автор решения: RAINGM
→ Ссылка
Каждую секунду нет, так как discord rate limits не позволят этого, но можно, например каждые 45 секунд через tasks
Вот пример кога:
class Tasks(commands.Cog):
def __init__(self, bot: Bot):
self.bot = bot
self.update_message.start()
def cog_unload(self):
self.update_message.cancel()
@tasks.loop(seconds=45)
async def update_message(self):
channel = discord.utils.get(self.bot.get_guild(айди гильдии).text_channels, id=айди канала)
message = await channel.fetch_message(айди сообщения)
embed=discord.Embed(title="", description=f"Сейчас на сервере **{onl}** из **{max_onl} игроков.**", color = 0x2f3136)
await message.edit(embed=embed)
def setup(bot):
bot.add_cog(Tasks(bot))