Есть ли бесплатный discord бот, который умеет делать авто выдачу ролей за игровую активность?
Есть бот для discord statbot, у него есть функция Statroles - с помощью нее можно автоматически выдавать участникам роль в зависимости от их игровой активности, и автоматически удалять роль если активность отсутствует.
Проблема в том что эта функция платная у этого бота, хотелось бы найти бесплатную альтернативу, очень странно что ее еще не создали или я просто не нашёл ? Игровая активность - это то что пишется под вашим именем в дискорде во время игры, вы играете в CS под вашим именем написано CS, если вы запустите другую игру под вашем именем будет название другой игры
НЕ ПУТАТЬ с функцией роль за реакцию
Подобный бот технически легко реализуем.
Если вы, ваши друзья, родственники и кот умеете в питон, то вот вам целый "базовый" код.
Который позволит сделать вами задуманное.
Код
import discord
from discord import utils
from discord.ext import tasks
bot = commands.Bot(command_prefix='prefix', intents=discord.Intents.all())
@bot.event
async def on_ready():
print('Авторизирован как {0.user}'.format(bot))
# Запускаем созданную ниже задачу.
check_stats.start()
# Создаем задачу, которая будет проверять активность всех пользователей каждые 3 минуты.
@tasks.loop(minutes=3)
async def check_stats():
# Получаем всех пользователей с какой-то базовой ролью.
# Если никакой базовой роли нету, то получаем просто всех пользователей. См. метод: fetch_members
role = utils.get(bot.guilds[0].roles, id=12345678)
for member in role.members:
try:
print(f'Пользователь {member} имеет активность: {member.activities[0].name}')
except IndexError:
print(f'Пользователь {member} не имеет активности.')
if __name__ == '__main__':
bot.run('token')
Или можно постучать ко мне в ЛС по контактам в профиле, легко окажу вам помощь.
Вы путаете, там нет такой функции, которая давала бы роль за игровую активность.
Игровая активность - это то что пишется под вашим именем в дискорде во время игры, вы играете в CS под вашим именем написано CS, если вы запустите другую игру под вашем именем будет название другой игры