Как перевести бота в статус "Не в сети" с помощью команды?
Я хочу сделать так, чтобы при такой команде !офлайн у него ставился статус "Не в сети", но чтобы бот продолжал работать. Тоже самое с !онлайн, !неактивен.
Ответы (1 шт):
Автор решения: ПИТОНИСТ версия-3-8
→ Ссылка
Попробуйте написать команду
await bot.change_presence(status = discord.Status.invisible)
invisible (это и есть статус) можно заменить на idle (режим "простоя")
Также в функцию можно добавить аргумент activity, например:
await bot.change_presence(status = discord.Status.idle, activity=discord.Game(name='Minecraft'))
После её запуска в статусе бота будет написано
Неактивен
Играет в Minecraft
Вот ваша команда:
@bot.command()
async def оффлайн(ctx):
await bot.change_presence(status = discord.Status.invisible)
@bot.command()
async def онлайн(ctx):
await bot.change_presence(status = discord.Status.online)
@bot.command()
async def играет(ctx, arg):
await bot.change_presence(status = discord.Status.invisible, activity=discord.Game(name=arg)))
Чтобы сделать "Играет", нужно ввести играет и название игры. Например: играет Minecraft