Crie seu próprio bot do Telegram para rastrear listas negras de IPv4
Criar um bot simples para automatizar processos no seu servidor usando os serviços da AlexHost é mais fácil do que parece. Seguindo as instruções passo a passo, será capaz de configurar um bot que executará tarefas sem a sua intervenção. Oferecemos ferramentas acessíveis e compreensíveis que tornam todo o processo simples e rápido, mesmo que não tenha conhecimentos técnicos profundos. Os nossos clientes notam frequentemente que com a orientação passo-a-passo e o apoio da equipa da AlexHost, o desenvolvimento de bots torna-se um processo excitante e sem complicações. Experimente você mesmo – e veja que criar um bot para sua tarefa não é tão difícil quanto pode parecer à primeira vista!
Preparando-se para criar um bot
Antes de realmente começar a trabalhar com a instalação do bot no seu servidor, é preciso adicionarhttps://alexhost.com/faq/create-your-own-telegram-bot-to-track-ipv4-blacklists/?preview=trueitionally instalar as bibliotecas necessárias. Para isso, certifique-se de que tem o Python instalado (recomenda-se a versão 3.7 ou superior). Em seguida, instale as bibliotecas necessárias usando pip:
pip install selenium
pip install aiogram==3.4.1
Criando um bot no Telegram
Passo 1. No seu aplicativo do Telegram, encontre o bot BotFather. O BotFather é um bot oficial do Telegram usado para criar e gerenciar outros bots. Com ele, podes registar novos bots, configurar os seus parâmetros, obter tokens API e atualizar informações como uma descrição, avatar ou comandos. Este é o primeiro passo para lançares o teu próprio bot do Telegram.Passo #2. Depois, é preciso criar um novo bot com o comando /newbot e seguir as instruções.Passo #3. Depois de todos os passos terem sido feitos corretamente, tens de copiar o token do teu bot, pois ele será necessário no código. Irás receber uma mensagem como esta: Pronto! Parabéns pelo teu novo bot. Encontra-o em your_new-bot_name.Passo #4. De seguida, passamos ao difícil e importante passo de escrever o código. No teu servidor tens de criar um ficheiro, por exemplo my_bot.py, e inserir o seguinte código (este código destina-se a criar um bot para verificar endereços IPv4 em 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())