Привет фортнайтеры
Написал себе бота, чтобы не заебываться заходить на сайт чекнуть алерты, код помойный не ругайтесь, но работает
Написал себе бота, чтобы не заебываться заходить на сайт чекнуть алерты, код помойный не ругайтесь, но работает
Python:
import telebot
from telebot import types
import requests
import time
from bs4 import BeautifulSoup
token = ""
bot = telebot.TeleBot(token)
last_click = {}
def key():
it = types.ReplyKeyboardMarkup(resize_keyboard=True)
it1 = types.KeyboardButton("Алерты")
it.add(it1)
return it
@bot.message_handler(commands=["start"])
def start(message):
bot.send_message(message.chat.id, "Привет!\nДанный бот предоставляет информацию об Алертах PVE из игры Fortnite", reply_markup=key())
@bot.message_handler(func=lambda message: message.text == "Алерты")
def aler(message):
user_id = message.chat.id
last_click_time = last_click.get(user_id)
if not last_click_time or (time.time() - last_click_time) >= 600:
bot.send_message(message.chat.id, "⚙Пожалуйста подождите...")
url = "https://stw-planner.com"
response = requests.get(url)
if response.status_code == 200:
soup = BeautifulSoup(response.text, 'html.parser')
missions = soup.find_all('div', class_='mission-entry')
if len(missions) == 0:
bot.send_message(message.chat.id, "Сегодня нет алертов", reply_markup=key())
else:
alert_text = ""
for mission in missions:
title = mission.find('div', class_='mission-details').text.strip()
mission_pl = mission.find("div", class_="mission-pl").text.strip()
mis_backs = mission.find("div", class_="mission-reward-name").text.strip()
mission_info = f"{title}\n{mission_pl} Мощь\n{mis_backs} В-баксов"
alert_text += f"⚡<i>{mission_info}</i>\n\n"
bot.send_message(message.chat.id, alert_text, parse_mode="HTML", reply_markup=key())
last_click[user_id] = time.time()
else:
bot.send_message(message.chat.id, "Пожалуйста, подождите <i><b>10</b></i> минут перед следующим нажатием на <i><b>Алерты</b></i>", parse_mode="HTML", reply_markup=key())
@bot.message_handler(func=lambda message: 1)
def mes(message):
chat_id = message.chat.id
bot.send_message(chat_id, "❗Неизвестная команда", reply_markup=key())
bot.polling()
Библиотеки
pip install pyTelegramBotAPI
pip install requests
pip install beautifulsoup4
pip install pyTelegramBotAPI
pip install requests
pip install beautifulsoup4