روبوت Telegram الذي يساعدك على التحقق من التسليم السريع الخاص بك ويتتبع تلقائيًا أحدث حالة التسليم السريع الخاص بك! يمكن ختم المنتج النهائي:
@bennyblog_bot( لقد قمت بصيانة هذا الروبوت لفترة طويلة )
لا يستطيع هذا الروبوت الدردشة والتحقق من التسليم السريع فحسب! صدق أو لا تصدق، يمكنك أيضًا إرسال رسالة صوتية إليه! يمكنك أيضًا البحث عن الأعمال الدرامية الأمريكية واليابانية! للحصول على معلومات مفصلة، يرجى مراجعة الوظائف وTODO
نظرًا للزيادة المفاجئة في استخدام الروبوتات مؤخرًا، فإن استخدام وضع الاستقصاء يمكن أن يؤدي بسهولة إلى استخدام واجهة برمجة التطبيقات المجانية الخاصة بـ Express 100 بما يتجاوز 2000 مرة يوميًا، مما يؤدي إلى حظر عنوان IP، لذلك نخطط حاليًا لتغيير واجهة برمجة التطبيقات. في الوقت الحالي، لم أجد سوى هذا الخيار الأفضل:
نرحب بأي شخص لديه القدرة لتقديم اقتراحات العلاقات العامة أو غيرها من اقتراحات واجهة برمجة التطبيقات السريعة! شكرًا جزيلاً لك، لا تزال هناك مشكلة في استعلام SF Express، ولا أعرف واجهة برمجة التطبيقات التي يمكن استخدامها.
ابدأ - أدخل رقم البريد السريع للاستعلام
مساعدة - مساعدة
القائمة - عرض سجل الاستعلام الخاص بي
حذف - حذف سجل استعلام رقم معين
Quickdel - قم بالرد على رسالة استعلام لحذف سجل استعلام رقم التتبع بسرعة
الاستعلام - الاستعلام عن المسلسلات والأفلام الأمريكية
yyets - رابط تنزيل الاستعلام
الطقس - الاستعلام عن توقعات الطقس الأخيرة لمدينة محددة
أضف روبوتًا وأرسل رقم بوليصة الشحن مباشرةً للاستعلام (وأضفه إلى التتبع)؛ إذا كان رقم التتبع الخاص بك يحتوي على أحرف، فيرجى استخدام /start danhao123
؛ إذا كنت بحاجة إلى تتبع أرقام تتبع متعددة في وقت واحد، فيرجى استخدام /start 123,123
باللغة الإنجليزية مفصولة بفاصلة نصف العرض (بالطبع، سيكون الأمر بائسًا إذا تم التحديث)
ما عليك سوى إرسال رسالة مباشرة أو إرسال صوت (الماندرين الصيني)
/query 蝙蝠侠
/yyets 神盾局
، ثم انقر فوق الزر للتشغيليجب نشره على خادم يمكنه الوصول إلى Telegram API (أو إعداد وكيل). وهو يدعم كلاً من Python 2 وPython 3. يوصى باستخدام Python 3 وقد تم اختباره على الأنظمة الأساسية التالية:
ويندوز 10: بايثون 2.7.13 32 بت بايثون 3.6.3 32 بت
أوبونتو 16.04/14.04، CentOS 7، ديبيان 9: بايثون 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، فيمكنك تثبيته مباشرة باستخدام مدير الحزم (يمكنك أيضًا تجميعه أو تنزيله). يمكن لنظام دبيان استخدام sudo apt install ffmpeg
، ويمكن لـ RHEL استخدام yum install ffmpeg
قم بتعديل config.py
للتكوين. TOKEN هو واجهة برمجة تطبيقات 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 موثوقة لواجهة استعلام SF Express.
نخطط حاليًا لتغيير واجهة برمجة التطبيقات السريعة. يبدو أن Express Bird هو الخيار الأفضل (يدعم الدفع)، ولكنه يتطلب مصادقة الاسم الحقيقي...
يتم استخدام yyets
للحصول على رابط التنزيل الصحيح عن طريق النقر فوق InlineKeyboardButton، ولكن الشرط الأساسي هو أنه لا يمكن أن يكون هناك سوى نتيجة بحث واحدة (يتم إرجاع النتيجة الأولى فقط للاستعلام المتعدد) query
جميع المعلومات. على سبيل المثال، إذا كنت أرغب في تنزيل The Dark Knight Rises لـ Nolan، فيمكنني العثور على الاسم الفريد من خلال query
، ثم استخدام /yyets 《蝙蝠侠:黑暗骑士崛起》(The Dark Knight Rises)
للحصول على النتيجة الفريدة.
فرز حسب حالة الإكمال والأولوية
/start 123,123
فاصلة إنجليزية بنصف العرض InsecureRequestWarning
معطل حاليًا جي بي إل v2