Size: a a a

pyTelegramBotAPI.talks.ru

2019 October 29

EM

Egor Jolto Makarov in pyTelegramBotAPI.talks.ru
У меня прост это сделано на команду, которая работает раз в сутки
источник

T

TRP in pyTelegramBotAPI.talks.ru
Kirill Bogatyrev ON CALL @fizzzgen
Приорити кью с временем отправки сообщений и трэд их отправляющий
Ничего не понял😞
источник

KO

Kirill Bogatyrev ON CALL @fizzzgen in pyTelegramBotAPI.talks.ru
отдельный поток, берущий из очереди отправки сообщений сообщение с ближайшим таймстэмпом
источник

KO

Kirill Bogatyrev ON CALL @fizzzgen in pyTelegramBotAPI.talks.ru
в хэндлере пихаешь сообщение в эту очередь
источник

KO

Kirill Bogatyrev ON CALL @fizzzgen in pyTelegramBotAPI.talks.ru
priority_queue гугл
источник

KO

Kirill Bogatyrev ON CALL @fizzzgen in pyTelegramBotAPI.talks.ru
либо делаешь таблицу для отправки сообщенек
источник

KO

Kirill Bogatyrev ON CALL @fizzzgen in pyTelegramBotAPI.talks.ru
и удаляешь отправленные, а поток шлет к базе запросы min(time_to_send)
источник

KO

Kirill Bogatyrev ON CALL @fizzzgen in pyTelegramBotAPI.talks.ru
это совсем если заморочиться
источник

KO

Kirill Bogatyrev ON CALL @fizzzgen in pyTelegramBotAPI.talks.ru
источник

KO

Kirill Bogatyrev ON CALL @fizzzgen in pyTelegramBotAPI.talks.ru
( это я обмазываюсь мультипроцессингом )
источник

KA

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

П

Пасюк Лошадкин in pyTelegramBotAPI.talks.ru
Лол
источник

П

Пасюк Лошадкин in pyTelegramBotAPI.talks.ru
Есть решение проще
источник

s

std::mpa🌲 in pyTelegramBotAPI.talks.ru
Вызов родительского метода? Нахуй.
Накодить хуйню? Пожалуйста.
источник

П

Пасюк Лошадкин in pyTelegramBotAPI.talks.ru
TRP
А как сделать так, чтобы, например, сообщение отправлялось через 10 секунд?
import threading

def send(m, text):
   bot.send_message(m.chat.id, text)

@bot.message_handler()
def fff(m):
   text = '10 сек'
   threading.Timer(10, send, args = [m, text]).start()
источник

T

TRP in pyTelegramBotAPI.talks.ru
Пасюк Лошадкин
import threading

def send(m, text):
   bot.send_message(m.chat.id, text)

@bot.message_handler()
def fff(m):
   text = '10 сек'
   threading.Timer(10, send, args = [m, text]).start()
Спасибо, это не будет останавливать бота у всех пользователей?
источник

П

Пасюк Лошадкин in pyTelegramBotAPI.talks.ru
TRP
Спасибо, это не будет останавливать бота у всех пользователей?
Нет
источник

П

Пасюк Лошадкин in pyTelegramBotAPI.talks.ru
Оно создает поток
источник

T

TRP in pyTelegramBotAPI.talks.ru
Спасибо!
источник

KO

Kirill Bogatyrev ON CALL @fizzzgen in pyTelegramBotAPI.talks.ru
Пасюк Лошадкин
import threading

def send(m, text):
   bot.send_message(m.chat.id, text)

@bot.message_handler()
def fff(m):
   text = '10 сек'
   threading.Timer(10, send, args = [m, text]).start()
ну асинхронщина без создания даже трэдпула вещь довольно неприятная для будущего кода
источник