Робот Telegram, который поможет вам проверить вашу экспресс-доставку и автоматически отслеживает последний статус вашей экспресс-доставки! Готовое изделие можно штамповать:
@bennyblog_bot( Этот робот обслуживается мной уже давно )
Этот робот умеет не только общаться и проверять экспресс-доставку! Хотите верьте, хотите нет, но вы также можете отправить ему голосовое сообщение! Вы также можете искать американские и японские драмы! Подробную информацию см. в разделах Функции и TODO.
Из-за недавнего резкого роста использования роботов использование режима опроса может легко привести к тому, что бесплатный API Express 100 будет использоваться более 2000 раз в день, что приведет к блокировке IP-адреса, поэтому в настоящее время мы планируем изменить API. На данный момент я нашел только один лучший вариант:
Любой, у кого есть такая возможность, может присылать PR или другие предложения по экспресс-API! Большое спасибо. Проблема с запросом SF Express все еще существует. Я не знаю, какой API можно использовать.
start - введите номер курьера для запроса
помочь - помочь
list — просмотреть историю моих запросов.
delete - Удалить запись запроса определенного номера.
Quickdel — ответьте на сообщение с запросом, чтобы быстро удалить запись запроса номера отслеживания.
query - Запрос американских сериалов и фильмов
yyets - Запросить ссылку для скачивания
погода - Запросить недавний прогноз погоды для указанного города.
Добавьте робота и напрямую отправьте номер накладной для запроса (и добавьте его в отслеживание); если ваш номер отслеживания содержит буквы, используйте /start danhao123
, если вам нужно отслеживать несколько номеров отслеживания одновременно, используйте /start 123,123
на английском языке; через запятую половинной ширины (конечно, будет убого, если обновится)
Просто отправьте сообщение напрямую или отправьте голос (китайский мандарин)
/query 蝙蝠侠
/yyets 神盾局
, затем нажмите кнопку, чтобы начать работу.Его необходимо развернуть на сервере, который может получить доступ к Telegram API (или настроить прокси-сервер). Он поддерживает как Python 2, так и Python 3. Рекомендуется Python 3, который был протестирован на следующих платформах:
Windows 10: Python 2.7.13 32-разрядная версия Python 3.6.3 32-разрядная версия
Ubuntu 16.04/14.04, CentOS 7, Debian 9: Python 2.7
Сценарий «в один клик» будет лучше работать под systemd. Сценарий «в один клик» протестирован только в Ubuntu 16.04: сначала переключитесь на пользователя root:
wget -N --no-check-certificate https://raw.githubusercontent.com/BennyThink/ExpressBot/master/install.sh && bash install.sh
Затем следуйте подсказкам. Системы, поддерживающие systemd, будут одновременно установлены как службы systemd. Другие системы могут использовать соответствующий init для ручной настройки или использования ярлыка supervisor
.
# 启动服务
bash install.sh start
# 停止服务
bash install.sh stop
Примечание. Если вам будет предложено wget: command not found
в CentOS, yum install wget
Если сценарий в один клик не работает, вы можете попробовать настроить вручную.
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, пожалуйста, используйте pip3
вместо pip
pip install setuptools
pip install -r requirements.txt
Загрузите и установите Python с официального сайта Python, перейдите в каталог проекта, если это Python 2:
pip install -r requirements.txt
Если это Python 3, выполните следующую команду:
pip3 install -r requirements.txt
ffmpeg предназначен для поддержки распознавания аудио (с использованием ffmpe для перекодирования аудиофайлов).
Если вы используете Windows, загрузите отсюда двоичный exe-файл ffmpeg (требуются все три) и поместите его в PATH. Если вы используете дистрибутив Linux, вы можете установить его напрямую с помощью менеджера пакетов (вы также можете скомпилировать или загрузить); двоичный файл). Система Debian может использовать sudo apt install ffmpeg
, RHEL может использовать yum install ffmpeg
Измените config.py
для конфигурации. TOKEN — это API бота. Если TURING_KEY не настроен, функция робота не будет включена.
TOKEN = 'Your TOKEN'
TURING_KEY = 'Your Key'
Создайте файл модуля: vim /lib/systemd/system/expressbot.service
Замените себя и введите следующую информацию.
[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
Перезагрузить демон, автозапуск, запуск
systemctl daemon-reload
systemctl enable expressbot.service
systemctl start expressbot.service
Я использовал параметр restart=on-failure
, и он перезапустится после выхода из строя. Если установлено значение always
, это означает, что независимо от причины, если процесс завершен, systemd поможет нам немедленно его перезапустить. Подробности смотрите в руководстве systemd.service
.
В целях тестирования запустите main.py
с помощью nohub или screen. Для Python 3 замените python3
на python
cd /home/ExpressBot/expressbot
nohup python main.py
# 或者
cd /ExpressBot/expressbot
screen -S tgbot
python main.py
Если вам нужно отслеживать и отправлять обновления, нам необходимо регулярно проводить опросы.
В настоящее время используется таймер apscheduler, а INTERVAL
в config.py
можно использовать для установки интервала.
# 查看运行状态
sudo systemctl status expressbot.service
# 启动
sudo systemctl start expressbot.service
# 停止
sudo systemctl stop expressbot.service
# 重启
sudo systemctl restart expressbot.service
supervisor
Docker в настоящее время поддерживается, но детально не тестировался.
docker pull bennythink/expressbot:latest
docker run -d --restart=always -e TOKEN= " TOKEN " -e TURING= " KEY " expressbot:v1
Если вы хотите собрать его самостоятельно, загрузите обратно Dockerfile, а затем
docker build -t expressbot:v1 .
Прежде всего, позвольте мне вас сильно ударить: все сообщения, отправленные этому боту, могут регистрироваться. Но на самом деле этот робот весьма добросовестный. По умолчанию он записывает в базу данных следующую информацию только после успешного запроса. Посмотреть ее можно с помощью команды /list
:
Если вы отправите голос, голосовой файл будет помещен в каталог /tmp
. Я не гарантирую, что у меня хватит моральной чистоты не проверять базу данных, но я гарантирую, что буду должным образом защищать базу данных и предотвращать ее утечку.
Итак, если вы не хотите его использовать, не используйте его или можете удалить после проверки;
Есть файл msg.py
Для отладки и других нужд можно в config.py
установить для LOGGER
значение True. Конечно, в группе нельзя установить Turing API (даже функцию запроса экспресс-доставки следует упразднить). не дать роботу говорить ерунду). Кроме того, в группе необходимо включить режим конфиденциальности робота.
Хм, возможно интерфейс Экспресс 100 сгорел, попробуйте позже.
Возможно, номер заказа только что сформирован, а данных по Экспресс 100 еще нет.
В настоящее время не найден надежный REST API для интерфейса запросов SF Express.
В настоящее время мы планируем изменить экспресс-API. Кажется, Express Bird — лучший выбор (поддерживает push), но он требует аутентификации по настоящему имени...
yyets
используется для получения правильной ссылки для загрузки путем нажатия кнопки InlineKeyboardButton, но обязательным условием является то, что может быть только один результат поиска (для query
всей информации используется только первый из них); Например, если я хочу загрузить «Темный рыцарь: Возрождение легенды» Нолана, я могу найти уникальное имя с помощью query
, а затем использовать /yyets 《蝙蝠侠:黑暗骑士崛起》(The Dark Knight Rises)
чтобы получить уникальный результат.
Сортировать по статусу завершения и приоритету
/start 123,123
английская полуширина запятая InsecureRequestWarning
в настоящее время отключен Лицензия GPL v2