location
elimina log
arregla conversión de solo los OGA y no manda primer cap
Este es un script Python que tiene dos misiones:
Se puede compilar TDLib siguiendo estas instrucciones (https://tdlib.github.io/td/build.html). Para el caso de Debian 10 64bit ya incluyo un binario compilado en el directorio lib
.
Instalar Python-Telegram (pip3 install python-telegram
).
https://github.com/alexander-akhmetov/python-telegram
Librerías necesarias:
Copiar config.ini.dist
a config.ini
y rellenar valores.
Se puede arrancar con python3 main.py
pero cuando esté configurado y funcionando se puede configurar como servicio SystemD.
Completar el fichero pytelegram.service
con el nombre de usuario y la contraseña y copiarlo a /etc/systemd/system
. Ejecutar systemctl daemon reload
. El servicio se arrancará con systemctl start pytelegram
y se pueden ver las trazas con journalctl -u pytelegram -f
.
Ejemplo de servicio OpenRC (Alpine):
#!/sbin/openrc-run
# documentación man 8 openrc-run
name=$RC_SVCNAME
command="/usr/bin/python3"
command_args="/var/local/codigo/xmpptelegrampy/main.py"
command_user="apps"
pidfile="/run/$RC_SVCNAME.pid"
command_background="yes"
output_log="/var/log/pytelegram.log"
error_log="/var/log/pytelegram.err"
depend() {
need net
after prosody
}
Por defecto la librería en C compilada (TDLib) guarda todo lo necesario en en /tmp/.tdlib_files, incluidos todos los ficheros recibidos (fotos, gifs, audios, etc). Esa base de datos se puede borrar en cualquier momento y reiniciar este servicio para validarse de nuevo.
Si es el primer uso o se ha borrado la base de datos habrá que comunicar el código de inicio de sesión y la contraseña (si tienes activado el doble factor). Se hace escribiéndolas en unos ficheros que luego el proceso se encargará de borrar.
systemctl start pytelegram
En un terminal con usuario no root:
echo "codigo" > /tmp/code
Esto permite al proceso continuar. Si no tienes 2FA ya está activo. Si lo tienes:
echo "password" > /tmp/password
En un contenedor:
sudo -u apps python3 main.py