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)# сюда придет уведомление о результатах рассылки
function myCustomErrorHandler(int $errNo, string $errMsg, string $file, int $line) {}
set_error_handler('myCustomErrorHandler');
foreach($arUsers as $user) {
try {
$bot->send($user['chat_id']);
} catch (Throwable $e) {
$bot->run(
"DELETE FROM `users` WHERE `chat_id` = :chat_id",
array('chat_id' => $user['chat_id']),
PDO::FETCH_ASSOC
);
continue;
}
}