Ответы пользователя по тегу API
  • Как проверить существование chat_id при отправке сообщений телеграм боту?

    dabudi
    @dabudi
    2*2=5
    Проверить юзера на его присутсвие в боте можно только через рассылку

    count = 0
    errors = 0
    
    with sq.connect('base.db') as con:
        cur = con.cursor()
        cur.execute('''SELECT userid FROM users''')
        AllUser = cur.fetchall()
        
    start_time = time.time()
    for s in range(len(AllUser)):
        user_id = AllUser[count][0]
        try:
            bot.send_message(user_id, text='Текст для рассылки')
            count += 1
        except:
            count += 1
            errors += 1
            with sq.connect('base.db') as con:
                cur = con.cursor()
                cur.execute('''DELETE FROM users WHERE userid=?''', (user_id,)) # поймали ошибку на айди юзера и удалили его из базы
            
    allusers = int(len(dataid))
    
    goodresult = allusers - errors
    
    goodresult = str(goodresult)
    
    errors = str(errors)
    
    times = "Время выполнения: %s сек." % round((time.time() - start_time))
    
    sms = 'Рассылка завершена!'+'\n'+ 'Успешных результатов: '+goodresult+'\n'+'Ошибок: '+errors+'\n'+str(times)
    bot.send_message(твой_айди, sms)# сюда придет уведомление о результатах рассылки
    Ответ написан
    Комментировать