Създаване на собствен Telegram Bot за проследяване на черните списъци на IPv4
Създаването на прост бот за автоматизиране на процесите на вашия сървър с помощта на услуги от AlexHost е по-лесно, отколкото изглежда. Следвайки инструкциите стъпка по стъпка, ще можете да създадете бот, който ще изпълнява задачи без вашата намеса. Предлагаме достъпни и разбираеми инструменти, които правят целия процес лесен и бърз, дори и да нямате задълбочени технически познания. Нашите клиенти често отбелязват, че с напътствията стъпка по стъпка и подкрепата на екипа на AlexHost разработването на ботове се превръща във вълнуващ и безпроблемен процес. Опитайте сами – и се убедете, че създаването на бот за вашата задача не е толкова трудно, колкото изглежда на пръв поглед!
Подготовка за създаване на бот
Преди да започнете реално да работите с инсталирането на бота на вашия сървър, трябва да добавитеһттр://https://alexhost.com/faq/create-your-own-telegram-bot-to-track-ipv4-blacklists/?preview=trueitionally инсталиране на необходимите библиотеки. За да направите това, уверете се, че имате инсталиран Python (препоръчва се версия 3.7 или по-висока). След това инсталирайте необходимите библиотеки, като използвате pip:
pip install selenium
pip install aiogram==3.4.1
Създаване на бот в Telegram
Стъпка #1. В приложението си Telegram намерете бота BotFather. BotFather е официален бот на Telegram, който се използва за създаване и управление на други ботове. С него можете да регистрирате нови ботове, да конфигурирате техните параметри, да получавате API токени и да актуализирате информация, като например описание, аватар или команди. Това е първата стъпка към стартирането на собствен бот на Telegram.Стъпка 2. След това трябва да създадете нов бот с командата /newbot и да следвате по-нататъшните инструкции.Стъпка № 3. След като всички стъпки са изпълнени правилно, трябва да копирате токена на вашия бот, той ще бъде необходим в кода. Ще получите съобщение, подобно на това: Готово! Поздравления за новия ви бот. Ще го намерите на адрес your_new-bot_name.Стъпка № 4. След това пристъпваме към трудната и важна стъпка за написване на кода. На вашия сървър трябва да създадете файл, например my_bot.py, и да вмъкнете следния код (този код има за цел да създаде бот, който да проверява IPv4 адреси за черни списъци):
import asyncio
from aiogram import Bot, Dispatcher, F
from aiogram.types import Message
from aiogram.filters import CommandStart
from selenium import webdriver
from selenium.webdriver.common.by import By
import timebot = Bot('YOUR_BOT_TOKEN_HERE') # Replace with your bot's token
dp = Dispatcher()
def get_results(IP):
results = []
driver = webdriver.Chrome()
driver.get("https://mxtoolbox.com/SuperTool.aspx?action=blacklist%3a81.200.16.134&run=toolpage") # the URL, where you can check directly the blacklist status
time.sleep(5) # wait for page to load
input_field = driver.find_element(By.NAME, 'ctl00$ContentPlaceHolder1$txtInput2')
input_field.clear()
input_field.send_keys(IP)
time.sleep(4)
search_button = driver.find_element(By.ID, 'btnAction3')
search_button.click()
time.sleep(5)
status_results = driver.find_elements(By.CLASS_NAME, 'table-column-Status')[:60]
name_results = driver.find_elements(By.CLASS_NAME, 'table-column-Name')[:60]
if len(status_results) == len(name_results):
for status, name in zip(status_results, name_results):
results.append([status.text, name.text])
else:
print("The number of statuses and names does not match!")
driver.quit()
return results
@dp.message(CommandStart())
async def start(message: Message):
await message.answer(f'Привет {message.from_user.first_name}, Enter your IP to check')
@dp.message(F.text)
async def get_IP(message: Message):
text = ''
await message.answer('Checking the IPv4')
for results in get_results(message.text):
if status.strip() == 'OK':
text += f'✅: {name}n'
else:
text += f'❌: {name}n'
await message.answer(text)
async def main():
await dp.start_polling(bot)
if __name__ == '__main__':
print("Bot is running")
asyncio.run(main())