Erstellen Sie Ihren eigenen Telegram-Bot, um IPv4-Blacklists zu verfolgen
Die Erstellung eines einfachen Bots zur Automatisierung von Prozessen auf Ihrem Server mit den Diensten von AlexHost ist einfacher als es scheint. Anhand der Schritt-für-Schritt-Anleitung können Sie einen Bot einrichten, der Aufgaben ohne Ihr Zutun ausführt. Wir bieten zugängliche und verständliche Tools, die den gesamten Prozess einfach und schnell machen, auch wenn Sie nicht über tiefes technisches Wissen verfügen. Unsere Kunden stellen oft fest, dass die Bot-Entwicklung mit der schrittweisen Anleitung und Unterstützung durch das AlexHost-Team zu einem spannenden und problemlosen Prozess wird. Probieren Sie es selbst aus – und sehen Sie, dass die Erstellung eines Bots für Ihre Aufgabe nicht so schwierig ist, wie es auf den ersten Blick scheint!
Vorbereitung auf die Erstellung eines Bots
Bevor Sie mit der Installation des Bots auf Ihrem Server beginnen, müssen Sie unter https://alexhost.com/faq/create-your-own-telegram-bot-to-track-ipv4-blacklists/?preview=trueitionally die erforderlichen Bibliotheken installieren. Stellen Sie dazu sicher, dass Sie Python installiert haben (Version 3.7 oder höher wird empfohlen). Dann installieren Sie die notwendigen Bibliotheken mit pip:
pip install selenium
pip install aiogram==3.4.1
Einen Bot in Telegram erstellen
Schritt #1. Suchen Sie in Ihrer Telegram-App den BotFather-Bot. BotFather ist ein offizieller Telegram-Bot, mit dem Sie andere Bots erstellen und verwalten können. Mit ihm können Sie neue Bots registrieren, ihre Parameter konfigurieren, API-Token erhalten und Informationen wie eine Beschreibung, einen Avatar oder Befehle aktualisieren. Dies ist der erste Schritt, um Ihren eigenen Telegram-Bot zu starten.Schritt #2. Dann müssen Sie einen neuen Bot mit dem Befehl /newbot erstellen und den weiteren Anweisungen folgen.Schritt #3. Nachdem alle Schritte korrekt ausgeführt wurden, musst du den Token deines Bots kopieren, er wird im Code benötigt. Du wirst eine Meldung wie diese erhalten: Geschafft! Herzlichen Glückwunsch zu deinem neuen Bot. Sie finden ihn unter your_new-bot_name.Schritt #4. Als Nächstes folgt der schwierige und wichtige Schritt des Schreibens des Codes. Auf Ihrem Server müssen Sie eine Datei erstellen, zum Beispiel my_bot.py, und den folgenden Code einfügen (dieser Code zielt darauf ab, einen Bot zu erstellen, der IPv4-Adressen auf Blacklists überprüft):
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())