Вы находитесь на странице: 1из 2

import requests

import json
import time
import logging
from telegram import Bot, ParseMode
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters

# Токен вашего бота


TOKEN = ''
# ID вашего чата, куда будут приходить уведомления
CHAT_ID = ''
# Адрес страницы с уведомлениями
URL = 'https://alerts.in.ua/'

# Инициализация логгера
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
level=logging.INFO)

# Функция отправки уведомления в Telegram


def send_notification(title, message):
bot = Bot(TOKEN)
bot.send_message(chat_id=CHAT_ID, text=f'<b>{title}</b>\n\n{message}',
parse_mode=ParseMode.HTML)

# Функция получения уведомлений


def get_alerts():
response = requests.get(URL)
alerts = json.loads(response.text)
return alerts

# Функция отправки уведомлений


def send_alerts():
# Первоначальное получение уведомлений
alerts = get_alerts()
# Бесконечный цикл отправки уведомлений
while True:
try:
# Получение последних уведомлений
new_alerts = get_alerts()
# Поиск новых уведомлений
for alert in new_alerts:
if alert not in alerts:
# Отправка уведомления в Telegram
send_notification(alert['title'], alert['message'])
# Обновление списка уведомлений
alerts = new_alerts
# Задержка перед следующей проверкой
time.sleep(60)
except Exception as e:
logging.error(str(e))

# Функция отписки от рассылки


def unsubscribe(update, context):
# Удаление ID чата из списка рассылки
# TODO: Реализовать функцию отписки от рассылки
update.message.reply_text('You have been unsubscribed from the alerts.')

# Функция добавления рекламы


def add_advertisement(update, context):
# Добавление рекламы в базу данных
# TODO: Реализовать функцию добавления рекламы
update.message.reply_text('Advertisement added successfully.')

# Главная функция
def main():
# Инициализация бота
updater = Updater(TOKEN, use_context=True)
dispatcher = updater.dispatcher

# Обработка команд
dispatcher.add_handler(CommandHandler('unsubscribe', unsubscribe))
dispatcher.add_handler(CommandHandler('add_advertisement', add_advertisement))

# Запуск отправки уведомлений


send_alerts()

# Запуск бота
updater.start_polling()
updater.idle()

if __name__ == '__main__':
main()

Вам также может понравиться