Robô Telegram que ajuda você a verificar sua entrega expressa e rastreia automaticamente o status mais recente de sua entrega expressa! O produto acabado pode ser carimbado:
@bennyblog_bot( Este robô é mantido por mim há muito tempo )
Este robô não pode apenas conversar e verificar a entrega expressa! Acredite ou não, você também pode enviar uma mensagem de voz para ele! Você também pode pesquisar dramas americanos e japoneses! Para obter informações detalhadas, consulte Funções e TODO
Devido ao aumento repentino no uso de robôs recentemente, o uso do modo polling pode facilmente levar ao uso da API gratuita do Express 100 excedendo 2.000 vezes por dia, resultando no bloqueio do IP, por isso estamos planejando alterar a API. Por enquanto, só encontrei esta opção melhor:
Qualquer pessoa que tenha capacidade pode enviar sugestões de relações públicas ou outras sugestões expressas de API! Muito obrigado. Ainda há um problema com a consulta do SF Express, não sei qual API pode ser usada.
start - digite o número do correio para consultar
ajuda - ajuda
list - Ver meu histórico de consultas
delete - Exclui um determinado registro de consulta de número
quickdel - Responder a uma mensagem de consulta para excluir rapidamente o registro de consulta do número de rastreamento
query - Consulta séries de TV e filmes americanos
yyets - Consultar link para download
clima - Consulte a previsão do tempo recente para uma cidade específica
Adicione um robô e envie diretamente o número do conhecimento de embarque para consulta (e adicione-o ao rastreamento); se o seu número de rastreamento contiver letras, use /start 123,123
/start danhao123
; meia largura separada por vírgula (é claro, será péssimo se atualizado)
Basta enviar uma mensagem diretamente ou enviar uma voz (mandarim chinês)
/query 蝙蝠侠
/yyets 神盾局
e clique no botão para operar.Ele precisa ser implantado em um servidor que possa acessar a API do Telegram (ou configurar um proxy. Ele suporta Python 2 e Python 3. Python 3 é recomendado e foi testado nas seguintes plataformas:
Windows 10: Python 2.7.13 32 bits Python 3.6.3 32 bits
Ubuntu 16.04/14.04, CentOS 7, Debian 9: Python 2.7
O script de um clique funcionará melhor no systemd. O script de um clique só é testado no Ubuntu 16.04: Primeiro mude para o usuário root:
wget -N --no-check-certificate https://raw.githubusercontent.com/BennyThink/ExpressBot/master/install.sh && bash install.sh
Em seguida, siga as instruções. Os sistemas que suportam o systemd serão instalados como serviços do systemd ao mesmo tempo. Outros sistemas podem usar o init correspondente para configurar manualmente ou usar supervisor
.
# 启动服务
bash install.sh start
# 停止服务
bash install.sh stop
Nota: Se você for solicitado wget: command not found
no CentOS, instale o wget yum install wget
Se o script de um clique falhar, você pode tentar a configuração 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, use pip3
em vez de pip
pip install setuptools
pip install -r requirements.txt
Baixe e instale o Python no site oficial do Python, mude para o diretório do projeto, se for Python 2:
pip install -r requirements.txt
Se for Python 3, execute o seguinte comando:
pip3 install -r requirements.txt
ffmpeg suporta reconhecimento de áudio (usando ffmpe para transcodificação de arquivos de áudio).
Se você estiver no Windows, baixe o arquivo exe binário do ffmpeg aqui (todos os três são necessários) e coloque-o em PATH; se você estiver na distribuição Linux, você pode instalá-lo diretamente com o gerenciador de pacotes (você também pode compilar ou baixar; o binário). O sistema Debian pode usar sudo apt install ffmpeg
, RHEL pode usar yum install ffmpeg
Modifique config.py
para configuração. TOKEN é a API do Bot. Se TURING_KEY não estiver configurado, a função do robô não será habilitada.
TOKEN = 'Your TOKEN'
TURING_KEY = 'Your Key'
Crie o arquivo da unidade: vim /lib/systemd/system/expressbot.service
Substitua-se e insira as seguintes informações
[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
Recarregar daemon, iniciar automaticamente, iniciar
systemctl daemon-reload
systemctl enable expressbot.service
systemctl start expressbot.service
Usei restart=on-failure
e ele será reiniciado após sair em caso de falha. Se definido como always
, significa que não importa o motivo, desde que o processo termine, o systemd nos ajudará a reiniciá-lo imediatamente. Consulte o manual systemd.service
para obter detalhes.
Para fins de teste, execute main.py
com nohub ou screen. Para Python 3, substitua python3
por python
cd /home/ExpressBot/expressbot
nohup python main.py
# 或者
cd /ExpressBot/expressbot
screen -S tgbot
python main.py
Se você precisar rastrear e enviar atualizações, precisaremos fazer pesquisas regularmente.
O temporizador usado atualmente é apscheduler e INTERVAL
em config.py
pode ser usado para definir o intervalo.
# 查看运行状态
sudo systemctl status expressbot.service
# 启动
sudo systemctl start expressbot.service
# 停止
sudo systemctl stop expressbot.service
# 重启
sudo systemctl restart expressbot.service
supervisor
Docker é atualmente suportado, mas não foi testado em detalhes.
docker pull bennythink/expressbot:latest
docker run -d --restart=always -e TOKEN= " TOKEN " -e TURING= " KEY " expressbot:v1
Se você quiser construí-lo sozinho, baixe novamente o Dockerfile e depois
docker build -t expressbot:v1 .
Em primeiro lugar, permita-me bater forte em você, todas as mensagens enviadas para este bot podem ser registradas. Mas, na verdade, este robô é bastante cuidadoso. Por padrão, ele só registrará as seguintes informações no banco de dados após a consulta ser bem-sucedida. Você pode vê-las usando o comando /list
:
Se você enviar uma voz, o arquivo de voz será colocado no diretório /tmp
Não garanto que terei integridade moral para não verificar o banco de dados, mas garanto que protegerei adequadamente o banco de dados e evitarei que vaze.
Então, se você não quiser usá-lo, não use ou você pode excluí-lo após verificar;
Existe um arquivo chamado msg.py
Para depuração e outras necessidades, você pode definir LOGGER
como True em config.py
Claro, você não pode definir a API Turing no grupo (mesmo a função de consulta de entrega expressa deve ser abolida). evitar que o robô fale bobagens). Além disso, o modo de privacidade do robô precisa estar ativado no grupo.
Hmm, talvez a interface do Express 100 esteja frita. Tente novamente mais tarde.
Pode ser que o número do pedido tenha acabado de ser gerado e ainda não haja dados para o Express 100.
Atualmente, nenhuma API REST confiável para interface de consulta SF Express foi encontrada.
No momento, estamos planejando alterar a API expressa. Parece que o Express Bird é uma escolha melhor (suporta push), mas requer autenticação de nome real...
yyets
é usado para obter o link de download correto clicando no InlineKeyboardButton, mas o pré-requisito é que só possa haver um resultado de pesquisa (apenas o primeiro é retornado para vários resultados, query
é usada para recuperar todas as informações); Por exemplo, se eu quiser baixar The Dark Knight Rises de Nolan, posso encontrar o nome exclusivo por meio query
e, em seguida, usar /yyets 《蝙蝠侠:黑暗骑士崛起》(The Dark Knight Rises)
para obter o resultado exclusivo.
Classifique por status de conclusão e prioridade
/start 123,123
vírgula de meia largura em inglês InsecureRequestWarning
está desativado no momento GPL v2