Creați-vă propriul robot Telegram pentru a urmări listele negre IPv4
Creați un Telegram Bot pe VPS AlexHost pentru sarcini automatizate
De ce să creați un bot pe AlexHost? Automatizarea sarcinilor cu un bot Telegram este simplă și eficientă. VPS-ul AlexHost cu stocare NVMe, acces root și protecție DDoS asigură implementarea rapidă și sigură a unui bot. Acest ghid detaliază configurarea unui bot pentru a verifica listele negre IPv4 pe AlexHost.
Pregătirea pentru crearea unui bot
Înainte de a începe să lucrați efectiv la instalarea botului pe serverul dvs., trebuie să adăugațihttps://dev.alexhost.com/faq/create-your-own-telegram-bot-to-track-ipv4-blacklists/?preview=trueitionally instalați bibliotecile necesare. Pentru a face acest lucru, asigurați-vă că aveți Python instalat (se recomandă versiunea 3.7 sau superioară). Apoi instalați bibliotecile necesare utilizând pip:
pip install selenium
pip install aiogram==3.4.1
Crearea unui robot în Telegram
Pasul #1. În aplicația Telegram, găsiți botul BotFather. BotFather este un bot Telegram oficial utilizat pentru a crea și gestiona alte bot-uri. Cu ajutorul acestuia, puteți înregistra roboți noi, le puteți configura parametrii, puteți obține token-uri API și puteți actualiza informații precum o descriere, un avatar sau comenzi. Acesta este primul pas pentru a vă lansa propriul bot Telegram.Pasul 2. Apoi trebuie să creați un nou bot cu comanda /newbot și să urmați instrucțiunile ulterioare.Pasul #3. După ce toți pașii au fost parcurși corect, trebuie să copiați tokenul botului dvs, acesta va fi necesar în cod. Veți primi un mesaj ca acesta: Gata! Felicitări pentru noul dvs. bot. Îl veți găsi la your_new-bot_name.Pasul #4. În continuare trecem la pasul dificil și important de a scrie codul. Pe serverul dvs. trebuie să creați un fișier, de exemplu my_bot.py, și să introduceți următorul cod (acest cod vizează crearea unui bot care să verifice adresele IPv4 pentru listele negre):
import asyncio
import timefrom aiogram import Bot, Dispatcher, F
from aiogram.filters import CommandStart
from aiogram.types import Message
from selenium import webdriver
from selenium.webdriver.common.by import By
bot = Bot('YOUR_BOT_TOKEN_HERE') # Replace with your bot's token
dp = Dispatcher()
def get_results(IP):
results = []
driver = webdriver.Chrome()
# URL, где можно сразу проверить статус в черных списках
driver.get("https://mxtoolbox.com/SuperTool.aspx?action=blacklist%3a81.200.16.134&run=toolpage
")
time.sleep(5) # ждем загрузку страницы
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 status, name 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())