Crea tu propio bot de Telegram para rastrear listas negras IPv4
Crear un bot sencillo para automatizar procesos en tu servidor utilizando los servicios de AlexHost es más fácil de lo que parece. Siguiendo las instrucciones paso a paso, podrás configurar un bot que realizará tareas sin tu intervención. Ofrecemos herramientas accesibles y comprensibles que hacen que todo el proceso sea sencillo y rápido, incluso si no tiene profundos conocimientos técnicos. Nuestros clientes a menudo notan que con la guía paso a paso y el apoyo del equipo de AlexHost, el desarrollo de bots se convierte en un proceso emocionante y sin complicaciones. Pruébalo tú mismo – ¡y comprueba que crear un bot para tu tarea no es tan difícil como puede parecer a primera vista!
Preparación para crear un bot
Antes de empezar a trabajar realmente con la instalación del bot en tu servidor, necesitas añadirhttps://alexhost.com/faq/create-your-own-telegram-bot-to-track-ipv4-blacklists/?preview=trueitionally instalar las librerías necesarias. Para ello, asegúrate de que tienes Python instalado (se recomienda la versión 3.7 o superior). Luego instala las librerías necesarias usando pip:
pip install selenium
pip install aiogram==3.4.1
Creando un Bot en Telegram
Paso #1. En tu Telegram App, encuentra el bot BotFather. BotFather es un bot oficial de Telegram que sirve para crear y gestionar otros bots. Con él, puedes registrar nuevos bots, configurar sus parámetros, obtener tokens API, y actualizar información como una descripción, avatar, o comandos. Este es el primer paso para lanzar tu propio bot de Telegram.Paso #2. Luego necesitas crear un nuevo bot con el comando /newbot y seguir las instrucciones posteriores.Paso #3 . Después de que todos los pasos se hayan hecho correctamente, necesitas copiar el token de tu bot, será necesario en el código. Recibirás un mensaje como este: ¡Listo! Enhorabuena por tu nuevo bot. Lo encontrarás en tu_nuevo_nombre_bot.Paso #4 .A continuación pasamos al difícil e importante paso de escribir el código. En tu servidor necesitas crear un archivo, por ejemplo mi_bot.py, e insertar el siguiente código (este código está orientado a crear un bot para comprobar direcciones IPv4 para listas negras):
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())