150_Kirill_150
@150_Kirill_150
Пытаюсь разрабатываю телеграм бота. Новичок в Pyth

Не возможна рассылка по пользователям в pytelegrambotapi?

def spam_message(message):
    chat_id = message.chat.id
    text = message.text
    
    cursor.execute('SELECT count(*) FROM users')
    kolvo_strok_tuple = cursor.fetchone()
    kolvo_strok = int(kolvo_strok_tuple[0])
    
    cursor.execute('SELECT user_id FROM users')
    vse_user = cursor.fetchall()
    if message.text != None:
        user = 0
        for i in range(kolvo_strok):
            try:
                bot.send_message(vse_user[0][0], f'{text}')
                vse_user.pop(0)
                user += 1
            except telebot.apihelper.ApiException:
                pass

В общем, имеется простенький код написанный на python. Он вытаскивает из базы данных sqlite id пользователей которые зарегистрировались в боте. Но скрипт ломается как только натыкается на пользователя который заблокировал бота. Вопрос, как обойти заблокированного пользователя и продолжить рассылку.
Самому на ум ничего не приходит. Пожалуйста помогите мне в этом лёгком вопросе
Кстати сама ошибка:
ERROR - TeleBot: "A request to the Telegram API was unsuccessful. Error code: 403. Description: Forbidden: bot was blocked by the user"
  • Вопрос задан
  • 66 просмотров
Решения вопроса 1
@bacon
Выбрось kolvo_strok и сделай итерацию по vse_user, тогда pop не нужен и твой except будет нормально отрабатывать. Ну и не нужно лезть в боты, а особенно в рассылки, с такими знаниями.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
alexk111
@alexk111
Автор Ботодрома (автоматизация Telegram, VK и др.)
Если python - не обязательное требование, то, возможно, будет быстрее, проще и наглядней сделать такой рассыльщик в Ботодроме, к примеру. Могу расшарить готовый поток рассыльщика в Телеграм, если нужно.
Ответ написан
Ваш ответ на вопрос

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

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