@nuribairamov

Как получить user_id из базы данный sqlite, проверить наличие подписки и отправить этому человеку сообщение в переписку с ботом?

Изначально, после ввода команды /start, бот регистрирует useк_id в базу данных.
Затем, пользователь может купить платную подписку, когда он это делает, в базе данных, в столбце time_sub ему даётся 30 дней в секундах.
def set_time_sub(self, user_id, time_sub):
        with self.connection:
            return self.cursor.execute("UPDATE `users` SET `time_sub` = ? WHERE `user_id` = ?", (time_sub, user_id,))

Идея такая: если в админской группе админ выкладывает пост, то это обрабатывает текстовый handler с условием if message.chat.type == 'group', и запускает рассылку на id, которые получила следующая функция
функция должна вытащить из бд user_id, у которых time_sub не 0, и именно на эти id отправлялись бы посты из админской группы. Не могу понять, как реализовать выемку id платных подписчиков и рассылку именно на их. Если есть какие-то другие способы реализовать постинг на платных подписчиков, готов посмотреть. Сторонние сервисы не предлагать. Заранее спасибо.
  • Вопрос задан
  • 66 просмотров
Пригласить эксперта
Ответы на вопрос 1
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Не понял, в чём проблема? В БД хранить для каждого userid поле «дата и время окончания подписки». Надо сделать рассылку - перебираешь все userid и тем, у кого это поле больше текущего datetime, отправляешь послание; остальным не отправляешь.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы