Как реализовать зарплату в Discord.py на Python?
Например, каждый день на баланс пользователя поступает количество монет(в зависимости от профессии). Как это реализовать? Мне кажется это можно сделать с помощью декоратора @tasks.loop, но не знаю как.
Чтобы сделать вопрос ещё точнее - я пробовал с помощью @tasks.loop. С помощью asyncio.sleep() я ждал 30 секунд и на баланс действительно прибавились деньги. Только когда я делал с двумя аккаунтами тоже самое - бот сначала ждал 30 секунд у меня и начислял деньги, и только потом ждал 30 секунд для другого аккаунта. То есть в итоге для второго аккаунта ожидание денег составляло 60 секунд. Как сделать, чтобы зарплата начислялась за 30 секунд на всех аккаунтах?
Ответы (1 шт):
Получаете сервер и перебираете всех пользователей, выдавая им деньги. Либо же вы можете полностью получить всех пользователей из json и выдать им деньги в зависимости от профессии через цикл for.
from discord.ext import tasks
@tasks.loop(seconds=30.0)
async def pay(self):
guild = # Тут нужно получить сервер с помощью айди или чего-то другого
for m in guild.members:
# Ваш код выдачи денег