Robot Telegram yang membantu Anda memeriksa pengiriman ekspres Anda dan secara otomatis melacak status terbaru pengiriman ekspres Anda! Produk jadi dapat dicap:
@bennyblog_bot( Robot ini sudah lama saya pelihara )
Robot ini tidak hanya bisa ngobrol dan mengecek pengiriman ekspres! Percaya atau tidak, Anda juga dapat mengirim pesan suara ke sana! Anda juga dapat mencari drama Amerika dan Jepang! Untuk informasi lebih rinci, silakan lihat Fungsi dan TODO
Karena lonjakan penggunaan robot yang tiba-tiba baru-baru ini, penggunaan mode polling dapat dengan mudah menyebabkan penggunaan API gratis Express 100 melebihi 2.000 kali per hari, mengakibatkan IP diblokir, jadi saat ini kami berencana untuk mengubah API. Untuk saat ini, saya hanya menemukan satu opsi yang lebih baik:
Siapapun yang mampu dapat mengirimkan PR atau saran API ekspres lainnya! Terima kasih banyak. Masih ada masalah dengan query SF Express. Saya tidak tahu API mana yang bisa digunakan.
mulai - masukkan nomor kurir yang akan ditanyakan
tolong tolong
daftar - Lihat riwayat permintaan saya
delete - Menghapus catatan kueri nomor tertentu
quickdel - Membalas pesan kueri untuk menghapus catatan kueri nomor pelacakan dengan cepat
query - Kueri serial TV dan film Amerika
yyets - Tautan unduhan kueri
cuaca - Kueri ramalan cuaca terkini untuk kota tertentu
Tambahkan robot dan langsung kirim nomor waybill ke kueri (dan tambahkan ke pelacakan); Jika nomor pesanan Anda berisi huruf, silakan gunakan /start danhao123
; Jika Anda perlu melacak beberapa nomor pesanan sekaligus, silakan gunakan /start 123,123
Bahasa Inggris setengah lebarnya dipisahkan koma (tentunya akan menyedihkan jika diperbarui)
Cukup kirim pesan langsung atau kirim suara (Mandarin Cina)
/query 蝙蝠侠
/yyets 神盾局
Ini perlu diterapkan pada server yang dapat mengakses API Telegram (atau menyiapkan proxy). Ini mendukung Python 2 dan Python 3. Python 3 direkomendasikan dan telah diuji pada platform berikut:
Windows 10: Python 2.7.13 32bit Python 3.6.3 32bit
Ubuntu 16.04/14.04, CentOS 7, Debian 9: Python 2.7
Skrip satu-klik akan berjalan lebih baik di bawah systemd. Skrip satu-klik hanya diuji di Ubuntu 16.04: Pertama beralih ke pengguna root:
wget -N --no-check-certificate https://raw.githubusercontent.com/BennyThink/ExpressBot/master/install.sh && bash install.sh
Kemudian ikuti petunjuknya. Sistem yang mendukung systemd akan diinstal sebagai layanan systemd pada saat yang sama. Sistem lain dapat menggunakan init yang sesuai untuk mengkonfigurasi secara manual atau menggunakan operasi pintasan supervisor
.
# 启动服务
bash install.sh start
# 停止服务
bash install.sh stop
Catatan: Jika Anda diminta wget: command not found
di CentOS, silakan instal wget yum install wget
Jika skrip sekali klik gagal, Anda dapat mencoba konfigurasi 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 harap gunakan pip3
alih-alih pip
pip install setuptools
pip install -r requirements.txt
Unduh dan instal Python dari situs web resmi Python, beralih ke direktori proyek, jika itu adalah Python 2:
pip install -r requirements.txt
Jika itu adalah Python 3, jalankan perintah berikut:
pip3 install -r requirements.txt
ffmpeg mendukung pengenalan audio (menggunakan ffmpe untuk transcoding file audio).
Jika Anda menggunakan Windows, unduh file exe biner ffmpeg dari sini (ketiganya diperlukan) dan letakkan di PATH; jika Anda menggunakan distribusi Linux, Anda dapat menginstalnya langsung dengan manajer paket (Anda juga dapat mengkompilasi atau mengunduh biner). Sistem Debian dapat menggunakan sudo apt install ffmpeg
, RHEL dapat menggunakan yum install ffmpeg
Ubah config.py
untuk konfigurasi. TOKEN adalah API Bot. Jika TURING_KEY tidak dikonfigurasi, fungsi robot tidak akan diaktifkan.
TOKEN = 'Your TOKEN'
TURING_KEY = 'Your Key'
Buat file unit: vim /lib/systemd/system/expressbot.service
Ganti diri Anda dan masukkan informasi berikut
[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
Muat ulang daemon, mulai sendiri, mulai
systemctl daemon-reload
systemctl enable expressbot.service
systemctl start expressbot.service
Saya menggunakan parameter restart=on-failure
, dan itu akan restart setelah keluar jika gagal. Jika disetel ke always
, artinya apa pun alasannya, selama prosesnya hilang, systemd akan membantu kita segera memulai ulang. Lihat manual systemd.service
untuk detailnya.
Untuk tujuan pengujian, jalankan main.py
dengan nohub atau screen. Untuk Python 3, silakan ganti python3
dengan python
cd /home/ExpressBot/expressbot
nohup python main.py
# 或者
cd /ExpressBot/expressbot
screen -S tgbot
python main.py
Jika Anda perlu melacak pembaruan dan mendorongnya, maka kami perlu melakukan jajak pendapat secara rutin.
Timer yang saat ini digunakan adalah apscheduler, dan INTERVAL
di config.py
dapat digunakan untuk mengatur interval.
# 查看运行状态
sudo systemctl status expressbot.service
# 启动
sudo systemctl start expressbot.service
# 停止
sudo systemctl stop expressbot.service
# 重启
sudo systemctl restart expressbot.service
supervisor
Docker saat ini didukung, tetapi belum diuji secara detail.
docker pull bennythink/expressbot:latest
docker run -d --restart=always -e TOKEN= " TOKEN " -e TURING= " KEY " expressbot:v1
Jika Anda ingin membuatnya sendiri, unduh kembali Dockerfile
docker build -t expressbot:v1 .
Pertama-tama, izinkan saya memberi Anda peringatan keras bahwa semua pesan yang dikirim ke bot ini mungkin dicatat. Namun nyatanya robot ini cukup teliti. Secara default, ia hanya /list
mencatat informasi berikut ke dalam database setelah query berhasil.
Jika Anda mengirimkan suara, file suara tersebut akan ditempatkan di direktori /tmp
Saya tidak menjamin bahwa saya akan memiliki integritas moral untuk tidak memeriksa database, namun saya menjamin bahwa saya akan melindungi database dengan baik dan mencegahnya bocor.
Jadi, jika Anda tidak ingin menggunakannya, jangan gunakan atau Anda dapat menghapusnya setelah dicentang.
Ada file bernama msg.py
Untuk debugging dan kebutuhan lainnya, Anda dapat mengatur LOGGER
ke True di config.py
Tentu saja, Anda tidak dapat mengatur Turing API di grup (bahkan fungsi menanyakan pengiriman ekspres harus dihapuskan) Untuk mencegah robot berbicara omong kosong). Selain itu, mode privasi robot perlu diaktifkan di grup.
Hmm, mungkin antarmuka Express 100 rusak; coba lagi nanti.
Bisa jadi nomor pesanan baru dibuat dan belum ada data untuk Express 100.
Saat ini, tidak ditemukan REST API yang andal untuk antarmuka kueri SF Express.
Saat ini kami berencana untuk mengubah API ekspres. Tampaknya Express Bird adalah pilihan yang lebih baik (mendukung push), tetapi memerlukan otentikasi nama asli...
yyets
digunakan untuk mendapatkan link download yang benar dengan mengklik InlineKeyboardButton, namun prasyaratnya adalah hanya boleh ada satu hasil pencarian (hanya hasil pertama yang dikembalikan untuk beberapa hasil query
yang digunakan untuk mengambil semua informasi); Misalnya, jika saya ingin mengunduh The Dark Knight Rises karya Nolan, saya dapat menemukan nama uniknya melalui query
, lalu menggunakan /yyets 《蝙蝠侠:黑暗骑士崛起》(The Dark Knight Rises)
untuk mendapatkan hasil unik.
Urutkan berdasarkan status penyelesaian dan prioritas
/start 123,123
koma setengah lebar bahasa Inggris InsecureRequestWarning
saat ini dinonaktifkan GPLv2