Skip to content
forked from uGeek/BaTbot

BOT de Telegram escrito en Bash que puede responder a los mensajes de los usuarios, ejecutar comandos y hacer otras cosas interesantes.

Notifications You must be signed in to change notification settings

neoranger/BaTbot

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 

Repository files navigation

BaTbot v1.5 - Bash Telegram BOT

BaTbot es un BOT de Telegram simple escrito en Bash que puede responder a los mensajes de los usuarios, ejecutar comandos y hacer otras cosas interesantes.

CAMBIO

v1.5 - Version By NeoRanger

  • Se agregó el script runbot.sh para que el bot pueda ser invocado en /etc/rc.local para poder ser ejecutado al inicio del sistema.

v1.4.3.5 - Fork por NeoRanger

  • Se tradujo del italiano al español los archivos: admadduser, admdeluser y admlistuser.
  • Se agregó archivo .gitignore para que no se tenga en cuenta los archivos *.lmsg que genera el bot.
  • Se agregaron los archivos token.txt y id.txt para que el bot tome los datos desde esos archivos sin estar puestos manualmente. Se agregaron los .txt al .gitignore

v1.4.3.4- Fork y Traducción al Castellano por uGeekPodcast

  • Traducción al Castellano

v1.4.3-ITA por eliafino

  • cambió la variable BOTPATH ​n NMSGPATH y configure la ruta de guardado configurable. Tiene en cuenta los mensajes de texto no procesados ​​para los vecinos.
  • Lista agregada de usuarios aceptados “allowed_user” por @do2sz
  • Agrupa notifica al usuario maestro de los comandos enviados al BOT.
  • Agregación de la notificación del comandante no reconocida.
  • comentar e mensaje en italiano

v1.4.3

  • se ajustan los comandos de expresiones regulares

v1.4.2

  • mensajes de texto fijos analizador de expresiones regulares

v1.4.1

  • caracteres fijos UTF-8 en nombre de usuario

Índice

  • Uso
  • Comandos simples
  • Variables
  • Comandos con expresiones regulares
  • Enviar mensaje
  • QUE HACER

Uso

**Modificar archivos token.txt y id.txt con la respectiva información.** Iniciar desde la consola:

./botbat

Comandos simples

Dentro del script botbat encontrará una lista de comandos de ejemplo que puede configurar. Por ejemplo:

["/hello"]="echo Hi"

este comando activa el mensaje /hello de un usuario, ejecuta el comando del sistema echo Hi y devuelve la salida del comando al usuario mediante un mensaje.

¿Quieres saber el tiempo de actividad de tu servidor? No hay problema:

["/uptime"]="/usr/bin/uptime"

¿Espacio en disco libre a través de Telegram? vamos a hacerlo:

["/disks"]="/bin/df -h"

Ejecutar script externo:

["/auth ([a-zA-Z0-9]+)"]="/usr/local/bin/auth.sh @R1"

No intentes esto en casa :

["/exec (.*)"]="exec @R1"

Variables

Puedes usar variables! por ejemplo:

["/hello"]="echo Hi @FIRSTNAME, encantado de conocerte :)"

BaTbot muestra en la consola, y en tiempo real, todos los mensajes recibidos:

+ 
Set Token to: ****
Check for new messages every: 1 seconds
+

Initializing BaTbot v1.4.3
Username:	wafblue_bot
First name:	wafblue
Bot ID:		****
Done. Waiting for new messages...

[chat **, from  **] <theMiddle - Andrea Menin> \/hello
Command /hello received, running cmd: echo Hi Andrea, pleased to meet you :)

Lista de Varibales

  • @USERID (int) ID del usuario que envió el comando activado
  • @USERNAME (string) Nombre de usuario de usuario en Telegram
  • @FIRSTNAME (string) El primer nombre del usuario
  • @LASTNAME (string) El apellido del usuario
  • @CHATID (int) El ID de chat donde el usuario envió un comando
  • @MSGID (int) ID del mensaje que activó un comando
  • @TEXT (string) El texto completo de un mensaje recibido
  • @FROMID (int) ID del usuario que envió un mensaje

Regex group extract

  • @R1 Contenido del primer grupo (.*)
  • @R2 Contenido del segundo grupo (.*)
  • @R3 Contenido del tercero grupo (.*)

Comando con expresiones regulares

También puede configurar un comando con argumentos, por ejemplo: “/ping 1234”. Todos los argumentos pueden ser expresiones regulares, por ejemplo:

["/ping ([0-9]+)"]="echo Pong: @R1"

["/blacklist ([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)"]="/sbin/iptables -A INPUT -s @R1 -j DROP"

["/whois ([a-zA-Z0-9\.\-]+)"]="/usr/bin/whois @R1"

["/host ([a-zA-Z0-9\.\-]+)"]="/usr/bin/host @R1"

Enviar mensaje

Cuando BaTbot se está ejecutando, puede enviar un mensaje utilizando el ID del usuario.

Usando el comando .msg directamente en la consola.

.msg <ID> <MENSAJE>

Por ejemplo:

[chat 110440209, from  110440209] <theMiddle - Andrea Menin> hi bot :)
.msg 110440209 hey!!!

QUE HACER

2016-04-20 [high ] Corregir el análisis de mensajes de texto en API2.0 (gracias a rauhmaru) 2015-11-17 Extracción [high ]dinámica del grupo de expresiones regulares

La mejor manera para que el bot inicie con el sistema:

Creamos un daemon usando systemd:

Creamos un archivo bot.service en /lib/systemd/system con lo siguiente:

[Unit]
Description=Este es el servicio para el arranque automático del Bot de Telegram.                                                                                                                                   
Documentation=                                                                                                                                                                                                     
After=network.target                                                                                                                                                                                               
                                                                                                                                                                                                                   
[Service]
Type=simple                                                                                                                                                                                                        
User=tuusuario                                                                                                                                                                                                     
ExecStart=/directorio/donde/guardaste/BaTbot/bin/runbot.sh                                                                                                                                                       
WorkingDirectory=/directorio/donde/dejaste/BaTbot/bin/                                                                                                                                                         
Restart=always                                                                                                                                                                                                 
                                                                                                                                                                                                                   
[Install]
WantedBy=multi-user.target

Una vez que guardamos el archivo hay que reiniciar los daemon con:

systemctl daemon-reload

Una vez que lo hacemos vamos a activarlo con:

sudo systemctl enable bot.service

Cuando esté activado el init (servicio que acabamos de generar) vamos a iniciar el daemon con:

sudo systemctl start bot.service

Para chequear el estado del servicio vamos a hacer:

sudo systemctl status bot.service

Si está activo y ejecutandose vamos a ver el log del bot

About

BOT de Telegram escrito en Bash que puede responder a los mensajes de los usuarios, ejecutar comandos y hacer otras cosas interesantes.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 100.0%