Задать вопрос
@bakin2004

Как остановить выполнение всех потоков при помощи команды боту Telegram?

Пытаюсь создать бота Telegram на python. Этот бот по команде пользователя запускает многопоточность с разными циклами выполнения задачи. Мне необходимо сделать так, чтобы пользователь при вводе команды (в данном случае это /start) с определенным значением, например /start stop (значение stop), останавливал все потоки, а потом снова мог их успешно запустить командой.

def startarg(arg):
    return arg.split()[1]

@bot.message_handler(commands=["start"])
def start(message):
    for i in range(1):
        try:
            start = startarg(message.text)
            bot.send_message(message.chat.id, 'Запущено')
        except:
            start = 'error'
            break
    if start == 'error':
        bot.send_message(message.chat.id, 'Вы не указали значение!')
    else:
        if start[0] == '1':
            start = '+'+start

    def some_0():
        while True:
            try:
            except:
                pass

    def some_1():
        while True:
            try:
            except:
                pass
                    
    def some_2():
        while True:
            try:
            except:
                pass

    th_0, th_1, th_2 = Thread(target=some_0), Thread(target=some_1), Thread(target = some_2)

    if __name__ == '__main__':
        th_0.start(), th_1.start(), th_2.start()
        th_0.join(), th_1.join(), th_2.join()
  • Вопрос задан
  • 883 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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