หุ่นยนต์โทรเลขที่ช่วยคุณตรวจสอบการจัดส่งด่วนและติดตามสถานะล่าสุดของการจัดส่งด่วนของคุณโดยอัตโนมัติ! ผลิตภัณฑ์สำเร็จรูปสามารถประทับตราได้:
@bennyblog_bot( หุ่นยนต์ตัวนี้ได้รับการดูแลโดยฉันมาเป็นเวลานาน -
หุ่นยนต์ตัวนี้ไม่เพียงแต่สามารถแชทและตรวจสอบการจัดส่งด่วนเท่านั้น! เชื่อหรือไม่ คุณยังสามารถส่งข้อความเสียงไปหามันได้! คุณยังสามารถค้นหาละครอเมริกันและญี่ปุ่นได้อีกด้วย! สำหรับข้อมูลโดยละเอียด โปรดดูฟังก์ชันและสิ่งที่ต้องทำ
เนื่องจากการใช้งานหุ่นยนต์ที่เพิ่มขึ้นอย่างกะทันหันเมื่อเร็ว ๆ นี้ การใช้โหมดการสำรวจสามารถนำไปสู่การใช้ API ฟรีของ Express 100 เกิน 2,000 ครั้งต่อวันได้อย่างง่ายดาย ส่งผลให้ IP ถูกบล็อก ดังนั้นเราจึงวางแผนที่จะเปลี่ยน API ในปัจจุบัน ในตอนนี้ ฉันพบตัวเลือกที่ดีกว่าเพียงตัวเลือกเดียวเท่านั้น:
ใครก็ตามที่มีความสามารถสามารถส่งข้อเสนอแนะ PR หรือ API ด่วนอื่นๆ ได้! ขอบคุณมาก. ยังคงมีปัญหากับแบบสอบถามของ SF Express ฉันไม่รู้ว่าสามารถใช้ API ใดได้
เริ่มต้น - ป้อนหมายเลขจัดส่งเพื่อสอบถาม
ช่วย - ช่วย
รายการ - ดูประวัติการค้นหาของฉัน
ลบ - ลบบันทึกการสืบค้นตัวเลขจำนวนหนึ่ง
Quickdel - ตอบกลับข้อความค้นหาเพื่อลบบันทึกการสืบค้นหมายเลขติดตามอย่างรวดเร็ว
แบบสอบถาม - สืบค้นละครโทรทัศน์และภาพยนตร์อเมริกัน
yyets - ค้นหาลิงก์ดาวน์โหลด
สภาพอากาศ - ค้นหาพยากรณ์อากาศล่าสุดสำหรับเมืองที่ระบุ
เพิ่มหุ่นยนต์และส่งหมายเลขใบนำส่งสินค้าโดยตรงเพื่อสอบถาม (และเพิ่มลงในการติดตาม) หากหมายเลขคำสั่งซื้อของคุณมีตัวอักษร โปรดใช้ /start danhao123
หากคุณต้องการติดตามหมายเลขคำสั่งซื้อหลายรายการในคราวเดียว โปรดใช้ /start 123,123
คั่นด้วยเครื่องหมายจุลภาคภาษาอังกฤษแบบครึ่งความกว้าง (แน่นอนว่าหากอัปเดตจะน่าเสียดาย)
เพียงส่งข้อความโดยตรงหรือส่งเสียง (ภาษาจีนกลาง)
/query 蝙蝠侠
/yyets 神盾局
จากนั้นคลิกปุ่มเพื่อดำเนินการจำเป็นต้องปรับใช้บนเซิร์ฟเวอร์ที่สามารถเข้าถึง Telegram API (หรือตั้งค่าพร็อกซี) รองรับทั้ง Python 2 และ Python 3 แนะนำให้ใช้ Python 3 และได้รับการทดสอบบนแพลตฟอร์มต่อไปนี้:
Windows 10: หลาม 2.7.13 32 บิต หลาม 3.6.3 32 บิต
อูบุนตู 16.04/14.04, CentOS 7, เดเบียน 9: Python 2.7
สคริปต์แบบคลิกเดียวจะทำงานได้ดีขึ้นภายใต้ systemd สคริปต์แบบคลิกเดียวได้รับการทดสอบบน Ubuntu 16.04 เท่านั้น: ขั้นแรกให้เปลี่ยนไปใช้ผู้ใช้รูท:
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 โปรดติดตั้ง wget 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 ของ Bot หากไม่ได้กำหนดค่า 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
สำหรับการดีบักและความต้องการอื่นๆ คุณสามารถตั้งค่า LOGGER
เป็น True ใน config.py
ได้ แน่นอนว่าคุณไม่สามารถตั้งค่า Turing API ในกลุ่มได้ (แม้แต่ฟังก์ชันการสืบค้นการจัดส่งด่วนก็ควรจะถูกยกเลิก) ถึง ป้องกันไม่ให้หุ่นยนต์พูดเรื่องไร้สาระ) นอกจากนี้ จำเป็นต้องเปิดโหมดความเป็นส่วนตัวของหุ่นยนต์ในกลุ่ม
อืม บางทีอินเทอร์เฟซของ Express 100 อาจจะถูกทอดแล้ว ลองอีกครั้งในภายหลัง
อาจเป็นไปได้ว่าเพิ่งสร้างหมายเลขคำสั่งซื้อและยังไม่มีข้อมูลสำหรับ Express 100
ปัจจุบันไม่พบ REST API ที่เชื่อถือได้สำหรับอินเทอร์เฟซการสืบค้น SF Express
ขณะนี้เรากำลังวางแผนที่จะเปลี่ยน express API ดูเหมือนว่า Express Bird จะเป็นตัวเลือกที่ดีกว่า (รองรับการพุช) แต่ต้องมีการรับรองความถูกต้องด้วยชื่อจริง...
yyets
ใช้เพื่อรับลิงก์ดาวน์โหลดที่ถูกต้องโดยคลิกปุ่ม InlineKeyboard แต่ข้อกำหนดเบื้องต้นคือสามารถมีผลการค้นหาได้เพียงรายการเดียวเท่านั้น (มีเพียงรายการแรกเท่านั้นที่ส่งคืนสำหรับผลลัพธ์หลายรายการ) query
ถูกใช้เพื่อดึงข้อมูลทั้งหมด ตัวอย่างเช่น หากฉันต้องการดาวน์โหลด The Dark Knight Rises ของ Nolan ฉันสามารถค้นหาชื่อที่ไม่ซ้ำผ่าน query
จากนั้นใช้ /yyets 《蝙蝠侠:黑暗骑士崛起》(The Dark Knight Rises)
เพื่อให้ได้ผลลัพธ์ที่ไม่ซ้ำใคร
จัดเรียงตามสถานะและลำดับความสำคัญที่เสร็จสมบูรณ์
/start 123,123
เครื่องหมายจุลภาคภาษาอังกฤษแบบครึ่งความกว้าง InsecureRequestWarning
ถูกปิดใช้งานอยู่ในขณะนี้ จีพีแอล เวอร์ชัน 2