Créez votre propre robot Telegram pour traquer les listes noires d’IPv4
Créer un bot simple pour automatiser les processus sur votre serveur en utilisant les services d’AlexHost est plus facile qu’il n’y paraît. En suivant les instructions étape par étape, vous serez en mesure de mettre en place un bot qui effectuera des tâches sans votre intervention. Nous proposons des outils accessibles et compréhensibles qui rendent l’ensemble du processus simple et rapide, même si vous n’avez pas de connaissances techniques approfondies. Nos clients remarquent souvent qu’avec les conseils et le soutien étape par étape de l’équipe d’AlexHost, le développement d’un bot devient un processus passionnant et sans tracas. Essayez-le vous-même – et voyez que la création d’un bot pour votre tâche n’est pas aussi difficile qu’il n’y paraît à première vue !
Préparer la création d’un bot
Avant de commencer à installer le bot sur votre serveur, vous devez ajouterhttps://alexhost.com/faq/create-your-own-telegram-bot-to-track-ipv4-blacklists/?preview=trueitionally installer les bibliothèques nécessaires. Pour ce faire, assurez-vous que Python est installé (la version 3.7 ou supérieure est recommandée). Installez ensuite les bibliothèques nécessaires à l’aide de pip :
pip install selenium
pip install aiogram==3.4.1
Création d’un bot dans Telegram
Étape 1. Dans votre application Telegram, trouvez le bot BotFather. BotFather est un bot officiel de Telegram utilisé pour créer et gérer d’autres bots. Il vous permet d’enregistrer de nouveaux bots, de configurer leurs paramètres, d’obtenir des jetons API et de mettre à jour des informations telles qu’une description, un avatar ou des commandes. Il s’agit de la première étape du lancement de votre propre bot Telegram.Étape 2. Vous devez ensuite créer un nouveau bot à l’aide de la commande /newbot et suivre les instructions suivantes.Étape 3. Une fois que toutes les étapes ont été effectuées correctement, vous devez copier le token de votre bot, il sera nécessaire dans le code. Vous recevrez un message comme celui-ci : C’est fait ! Félicitations pour votre nouveau bot. Vous le trouverez à l’adresse your_new-bot_name.Étape 4. Ensuite, nous passons à l’étape difficile et importante de l’écriture du code. Sur votre serveur, vous devez créer un fichier, par exemple my_bot.py, et y insérer le code suivant (ce code vise à créer un bot qui vérifie les adresses IPv4 pour les listes noires) :
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())