Size: a a a

pyTelegramBotAPI.talks.ru

2020 February 03

Е

Егорка in pyTelegramBotAPI.talks.ru
Я бы посоветовал трид использовать и запоминать название трида, чтобы другим хендлером можно было положить этот трид (экстренно)
источник

Е

Егорка in pyTelegramBotAPI.talks.ru
Или бы 2 функции с глобальной переменной, когда глобальная переменная цикл работает, во 2 хендлрере глобальную переменную меняешь и цикл останавливается
источник

J

John in pyTelegramBotAPI.talks.ru
Егорка
Я бы посоветовал трид использовать и запоминать название трида, чтобы другим хендлером можно было положить этот трид (экстренно)
можешь показать simple пример а то я не совсем понял?
источник

Đ

Đ₳Ɽ₭₲₳₥ɆⱤ in pyTelegramBotAPI.talks.ru
while:
   if x==True:
       ...
   else:
       break
источник

Е

Егорка in pyTelegramBotAPI.talks.ru
isstart = True
@bot.message_handler(commands=['st'])  # ДИРЕКТОРИЯ
def st(command):
   global isstart
   isstart = True
   if isstart:
       # Полезная работа

@bot.message_handler(commands=['br'])  # ДИРЕКТОРИЯ
def br(command):
   global isstart
   isstart = False
   # Меняем переменную
источник

Е

Егорка in pyTelegramBotAPI.talks.ru
Только тут в чем прикол, если боту выделить 50 потоков и 50 человек запустят эту команду, то бот не будет отвечать до тех пор, пока не остановят выполнение, а так как чтобы остановить выполнение надо прописать команду боту, то этот процесс уже будет не остановить
источник

Е

Егорка in pyTelegramBotAPI.talks.ru
Лучше конечно тридами, но там тоже свои камни есть
источник

J

John in pyTelegramBotAPI.talks.ru
Егорка
Только тут в чем прикол, если боту выделить 50 потоков и 50 человек запустят эту команду, то бот не будет отвечать до тех пор, пока не остановят выполнение, а так как чтобы остановить выполнение надо прописать команду боту, то этот процесс уже будет не остановить
я объясню конкретно:

если отправить боту /captchaon, бот должен проверять новых пользователей,
а если отправить /captchaoff бот не должен этого делать
источник

Е

Егорка in pyTelegramBotAPI.talks.ru
То есть к команде доступ только у админа?
источник

J

John in pyTelegramBotAPI.talks.ru
Егорка
То есть к команде доступ только у админа?
да
источник

Е

Егорка in pyTelegramBotAPI.talks.ru
Так тогда ещё проще
источник

KA

Kevin Atlas in pyTelegramBotAPI.talks.ru
стейт в бд
источник

KA

Kevin Atlas in pyTelegramBotAPI.talks.ru
?
источник

Е

Егорка in pyTelegramBotAPI.talks.ru
Егорка
isstart = True
@bot.message_handler(commands=['st'])  # ДИРЕКТОРИЯ
def st(command):
   global isstart
   isstart = True
   if isstart:
       # Полезная работа

@bot.message_handler(commands=['br'])  # ДИРЕКТОРИЯ
def br(command):
   global isstart
   isstart = False
   # Меняем переменную
Цикл и иф убери из кода
источник

J

John in pyTelegramBotAPI.talks.ru
Kevin Atlas
стейт в бд
сорри я не совсем разбираюсь в бд😢
источник

Е

Егорка in pyTelegramBotAPI.talks.ru
То есть просто глобальную переменную как выключатель
источник

KA

Kevin Atlas in pyTelegramBotAPI.talks.ru
John
сорри я не совсем разбираюсь в бд😢
а в чем проблема
источник

Е

Егорка in pyTelegramBotAPI.talks.ru
Одна команда включает, другая выключает
источник

KA

Kevin Atlas in pyTelegramBotAPI.talks.ru
Егорка
То есть просто глобальную переменную как выключатель
звучит ненадежно
источник

Е

Егорка in pyTelegramBotAPI.talks.ru
Ещё проще сделать вообще одну функцию
источник