telebot отправка сообщений по событию
Всем привет.
Решил поучиться немного писать на python, начал казалось бы с простого (бот в телеграмме).
Задача бота довольно простая, а именно:
Получить в json актуальное кол-во ошибок, сравнить с ранее сохраненным json файлом, если вдруг имеются ошибки - послать сообщение.
Проблема в моем случае именно с тем, что после сравнения двух этих файлов - сообщение не отправляется, хотя кол-во ошибок в новом полученном json файле больше, чем в предыдущим (обычным принтом сообщение в консоли выводится).
Кусок кода, который отвечает за отправку:
def telegram_bot(token):
bot = telebot.TeleBot(token)
@bot.message_handler(commands=["start"])
def start_message(message):
bot.send_message(message.chat.id, 'Привет. Работаю.')
with open('list_error.json') as new, open('list_error_old.json') as old:
json1 = json.load(new)
json2 = json.load(old)
if json1['err50x'] != json2['err50x']:
error_40x = json1["err40x"]
error_50x = json1["err50x"]
newerror_40x = int(json1["err40x"]) - int(json2["err40x"])
newerror_50x = int(json1["err50x"]) - int(json2["err50x"])
def send(message):
bot.send_message(message.chat.id, f'Старые ошибки: <b>{error_40x} | {error_50x}</b> / Новые ошибки: <b>{newerror_40x} | {newerror_50x}</b>', parse_mode='HTML')
bot.polling()
if __name__ == '__main__':
schedule.every(10).minutes.do(get_data,telegram_bot(token))
while True:
schedule.run_pending()
time.sleep(60)
Я понимаю, что код далеко не великолепный, но подскажите плз, где в моем случае ошибка.