¡Robot de Telegram que te ayuda a verificar tu entrega urgente y rastrea automáticamente el estado más reciente de tu entrega urgente! El producto terminado se puede estampar:
@bennyblog_bot( Este robot lo mantengo durante mucho tiempo. )
¡Este robot no solo puede chatear y consultar la entrega urgente! Lo creas o no, ¡también puedes enviarle un mensaje de voz! ¡También puedes buscar dramas americanos y japoneses! Para obtener información detallada, consulte Funciones y TODO
Debido al repentino aumento en el uso de robots recientemente, el uso del modo de sondeo puede llevar fácilmente a que el uso de la API gratuita de Express 100 exceda las 2000 veces por día, lo que resulta en el bloqueo de la IP, por lo que actualmente estamos planeando cambiar la API. Por el momento sólo he encontrado esta opción mejor:
¡Cualquiera que tenga la capacidad puede enviar sugerencias de relaciones públicas u otras sugerencias API expresas! Muchas gracias. Todavía hay un problema con la consulta de SF Express. No sé qué API se puede utilizar.
inicio - ingrese el número de mensajería para realizar la consulta
ayuda - ayuda
lista - Ver mi historial de consultas
eliminar: eliminar un determinado registro de consulta de número
Quickdel: responde a un mensaje de consulta para eliminar rápidamente el registro de consulta del número de seguimiento.
query - Consulta series de televisión y películas americanas
yyets - Enlace de descarga de consultas
clima: consulta el pronóstico del tiempo reciente para una ciudad específica
Agregue un robot y envíe directamente el número de guía para consultar (y agréguelo al seguimiento, si su número de seguimiento contiene letras, utilice /start danhao123
; si necesita realizar un seguimiento de varios números de seguimiento a la vez, utilice /start 123,123
en inglés); separados por comas de medio ancho (por supuesto, será miserable si se actualiza)
Simplemente envíe un mensaje directamente o envíe una voz (chino mandarín)
/query 蝙蝠侠
/yyets 神盾局
, luego haga clic en el botón para operar.Debe implementarse en un servidor que pueda acceder a la API de Telegram (o configurar un proxy. Es compatible con Python 2 y Python 3. Se recomienda Python 3 y se ha probado en las siguientes plataformas:
Windows 10: Python 2.7.13 de 32 bits Python 3.6.3 de 32 bits
Ubuntu 16.04/14.04, CentOS 7, Debian 9: Python 2.7
La secuencia de comandos de un clic se ejecutará mejor en systemd. La secuencia de comandos de un clic solo se prueba en Ubuntu 16.04: Primero cambie al usuario root:
wget -N --no-check-certificate https://raw.githubusercontent.com/BennyThink/ExpressBot/master/install.sh && bash install.sh
Luego siga las indicaciones. Los sistemas que admiten systemd se instalarán como servicios systemd al mismo tiempo. Otros sistemas pueden usar el init correspondiente para configurar manualmente o usar supervisor
.
# 启动服务
bash install.sh start
# 停止服务
bash install.sh stop
Nota: Si se le solicita wget: command not found
en CentOS, instale wget yum install wget
Si el script de un clic falla, puede intentar la configuración manual
git clone https://github.com/BennyThink/ExpressBot
cd ExpressBot
pacman -S python python-pip python-certifi python-chardet python-future python-idna python-requests python-six python-urllib3
然后从 AUR 安装 python-pytelegrambotapi .
sudo apt install python3 python3-pip git
sudo pip3 install -r requirements.txt
Python3 por favor use pip3
en lugar de pip
pip install setuptools
pip install -r requirements.txt
Descargue e instale Python desde el sitio web oficial de Python, cambie al directorio del proyecto, si es Python 2:
pip install -r requirements.txt
Si es Python 3, ejecute el siguiente comando:
pip3 install -r requirements.txt
ffmpeg es para admitir el reconocimiento de audio (usando ffmpe para transcodificar archivos de audio).
Si está en Windows, descargue el archivo binario exe de ffmpeg desde aquí (los tres son necesarios) y colóquelo en PATH si está en una distribución de Linux, puede instalarlo directamente con el administrador de paquetes (también puede compilarlo o descargarlo; el binario). El sistema Debian puede usar sudo apt install ffmpeg
, RHEL puede usar yum install ffmpeg
Modifique config.py
para la configuración. TOKEN es la API de Bot. Si TURING_KEY no está configurado, la función del robot no se habilitará.
TOKEN = 'Your TOKEN'
TURING_KEY = 'Your Key'
Cree un archivo de unidad: vim /lib/systemd/system/expressbot.service
Reemplácese e ingrese la siguiente información
[Unit]
Description=A Telegram Bot for querying expresses
After=network.target network-online.target nss-lookup.target
[Service]
Restart=on-failure
Type=simple
ExecStart=/usr/bin/python /home/ExpressBot/expressbot/main.py
[Install]
WantedBy=multi-user.target
Recargar demonio, inicio automático, inicio
systemctl daemon-reload
systemctl enable expressbot.service
systemctl start expressbot.service
Utilicé restart=on-failure
y se reiniciará después de salir en caso de error. Si se establece en always
, significa que no importa cuál sea el motivo, siempre que el proceso finalice, systemd nos ayudará a reiniciarlo inmediatamente. Consulte el manual systemd.service
para obtener más detalles.
Para fines de prueba, ejecute main.py
con nohub o screen. Para Python 3, reemplace python3
con python
cd /home/ExpressBot/expressbot
nohup python main.py
# 或者
cd /ExpressBot/expressbot
screen -S tgbot
python main.py
Si necesita realizar un seguimiento y enviar actualizaciones, debemos realizar encuestas con regularidad.
El temporizador utilizado actualmente es apscheduler y se puede utilizar INTERVAL
en config.py
para configurar el intervalo.
# 查看运行状态
sudo systemctl status expressbot.service
# 启动
sudo systemctl start expressbot.service
# 停止
sudo systemctl stop expressbot.service
# 重启
sudo systemctl restart expressbot.service
supervisor
Actualmente, Docker es compatible, pero no se ha probado en detalle.
docker pull bennythink/expressbot:latest
docker run -d --restart=always -e TOKEN= " TOKEN " -e TURING= " KEY " expressbot:v1
Si desea compilarlo usted mismo, descargue nuevamente el Dockerfile y luego
docker build -t expressbot:v1 .
En primer lugar, permítame golpearlo fuerte, todos los mensajes enviados a este bot pueden registrarse. Pero, de hecho, este robot es bastante concienzudo. De forma predeterminada, solo registrará la siguiente información en la base de datos después de que la consulta sea exitosa. Puede verla usando el comando /list
:
Si envía una voz, el archivo de voz se colocará en el directorio /tmp
No garantizo que tendré la integridad moral para no verificar la base de datos, pero garantizo que la protegeré adecuadamente y evitaré que se filtre.
Entonces, si no desea usarlo, no lo use o puede eliminarlo después de verificarlo.
Hay un archivo llamado msg.py
Para depuración y otras necesidades, puede configurar LOGGER
en True en config.py
Por supuesto, no puede configurar la API de Turing en el grupo (incluso la función de consultar la entrega urgente debería eliminarse). evitar que el robot diga tonterías). Además, el modo de privacidad del robot debe estar activado en el grupo.
Hmm, tal vez la interfaz de Express 100 esté dañada, inténtalo de nuevo más tarde.
Puede ser que se acabe de generar el número de pedido y aún no haya datos para Express 100.
Actualmente, no se ha encontrado ninguna API REST confiable para la interfaz de consulta SF Express.
Actualmente estamos planeando cambiar la API Express. Parece que Express Bird es una mejor opción (admite push), pero requiere autenticación de nombre real...
yyets
se usa para obtener el enlace de descarga correcto haciendo clic en el botón InlineKeyboard, pero el requisito previo es que solo puede haber un resultado de búsqueda (solo se devuelve el primero para múltiples resultados para query
toda la información); Por ejemplo, si quiero descargar The Dark Knight Rises de Nolan, puedo encontrar el nombre único mediante query
y luego usar /yyets 《蝙蝠侠:黑暗骑士崛起》(The Dark Knight Rises)
para obtener el resultado único.
Ordenar por estado de finalización y prioridad
/start 123,123
coma de medio ancho en inglés InsecureRequestWarning
está actualmente deshabilitado GPLv2