Как закрыть клиент в Discord py программно

Такая проблема - есть бот для Discord, написанный на Python. Необходимо, чтобы он закрывался при наступлении определенных условий в программе (например, по таймеру). Я перечитал инструкции к библиотеке, но в них вроде как максимум программа может среагировать на закрытие клиента, но не может сама его закрыть. Есть ли методы?

   @client.event
async def close_client():
    await client.close()

def Stop_Keeper():
    global end_of_all
    while end_of_all == True:
         if data_of_cfg[8] == '9ON_RUN = 0':
             end_of_all = False
             asyncio.run(close_client())

Ответы (1 шт):

Автор решения: Никитоз Саныч

Я нашел ответ на свой вопрос - рабочий метод, проверил. Функция client.close(), как я понял, работает только в рамках событий самого Discord. Значит, мне нужно инициировать событие в самом Discord, на которое среагирует бот, а уже при обработке события применить client.close(). В моем случае я отправил программой в Discord сообщение 'Бот остановлен через программу', на которое бот реагирует возникновением события on_message():

   @client.event
   async def on_message(message):
      global CHANNEL_ID  
      if str(CHANNEL_ID) == str(message.channel.id):
            if message.content == 'Бот остановлен через программу':
                  await client.close()
            return

Условие - сравнивает в каком канале было опубликовано сообщение (чтобы не реагировать на ВСЕ сообщения в сообществе)

→ Ссылка