@Nitiyus

Как боту самостоятельно выйти из канала?

Я пишу бота для дискорда и хочу сделать так, чтобы он выходил из голосового канала, если там никого нет (помимо самого бота).62a77a8e34d30977666774.png
  • Вопрос задан
  • 391 просмотр
Решения вопроса 1
fenrir1121
@fenrir1121 Куратор тега discord.py
Начни с документации
Объясню довольно просто.
1) Получаем канал где сидит бот
2) Проверяем что он там правда сидит, чтобы не ловить лишние ошибки
3) Проверяем что там только один пользователь (сам бот)
4) Выходим
@bot.event
async def on_voice_state_update(member, before, after):
    voice = discord.utils.get(bot.voice_clients, guild=member.guild)
    if voice and voice.is_connected():
        if len(voice.channel.members) == 1:
            await voice.disconnect()
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Mootfrost
C#, C++, JS, Python
Я такое реализовывал,объяснить тяжело, но вот мой пример: тык
Ответ написан
@a31
async def on_voice_state_update(self, member: discord.Member, before: discord.VoiceState, after: discord.VoiceState):
        if after.channel is None:
            members = before.channel.members
            if len(members) == 1:
                if members[0].id == self.bot.user.id:
                    await before.channel.guild.voice_client.disconnect(force=False)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы