نسخه کامل و قدرتمند ربات تغذیه صمد با زبان پایتون (Python 3.10+) و کتابخانه python-telegram-bot به روش Polling، با پشتیبانی همزمان از تلگرام (Telegram) و پیامرسان بله (Bale).
- 🚀 پشتیبانی دوگانه از تلگرام و بله: با ساختار مشترک و تغییر سریع پلتفرم از طریق تنظیمات یا آرگومان خط فرمان.
- 🔐 احراز هویت چندکاربره: ذخیرهسازی نشستها و توکنها در دیتابیس محلی SQLite با قابلیت خروج امن.
- 🍽 دریافت غذای روز و بارکد: تولید فوری کد فراموشی/کد تحویل به همراه تصویر QR Code جهت ارائه به دستگاههای سلف.
- 📅 برنامه غذایی هفته بعد و مقایسه سلفها: مشاهده منو و مقایسه همه سلفها (مرکزی، کلانا، کاله، یونیفود و...).
- 🛒 خرید و لغو تعاملی غذا: رزرو هفتگی یا روزانه با دکمههای شیشهای اینلاین.
- 💰 کیف پول و افزایش اعتبار: نمایش مانده حساب، اتصال مستقیم به درگاه pay.sharif.ir و ورود سریع با توکن به صمد.
- 📱 پشتیبانی از مینیاپ وب تلگرام: اجرای سریع با دستور
/appو دکمه Menu Button در صورت تنظیمMINIAPP_URL. - 🐳 پشتیبانی کامل از داکر: دارای
Dockerfileسبک وdocker-compose.yml.
cd python
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txtفایل .env.example را به .env کپی کرده و اطلاعات خود را وارد نمایید:
cp .env.example .envنمونه محتوای .env:
# انتخاب پلتفرم: telegram یا bale
PLATFORM=telegram
# توکن ربات (از BotFather در تلگرام یا بله)
BOT_TOKEN=your_bot_token_here
# آدرس سامانه صمد دانشگاه (پیشفرض: شریف)
SAMAD_BASE_URL=https://setad.dining.sharif.edu/
SAMAD_BASIC_AUTH=Basic c2FtYWQtbW9iaWxlOnNhbWFkLW1vYmlsZS1zZWNyZXQ=
# دیتابیس محلی
DATABASE_PATH=storage.db
# در صورت عدم تایید گواهی SSL داخلی دانشگاه:
VERIFY_SSL=False
# پروکسی برای اتصال به تلگرام در ایران (برای بله نیازی نیست):
PROXY_URL=socks5://127.0.0.1:1080
# درگاه متمرکز پرداخت شریف (متصل به حساب صمد):
PAY_SHARIF_URL=https://pay.sharif.ir
# آدرس مینیاپ وب تلگرام (اختیاری):
MINIAPP_URL=https://foodbot.<your-subdomain>.workers.dev/apppython bot.pypython bot.py --platform telegrampython bot.py --platform baleنکته برای بله: پیامرسان بله بدون فیلتر در داخل کشور در دسترس است؛ بنابراین در حالت بله معمولاً نیازی به تنظیم
PROXY_URLنیست. ساختار API بله مشابه تلگرام بوده و آدرس پایه آن به صورت خودکار رویhttps://tapi.bale.ai/botتنظیم میشود.
# بیلد و اجرا در پسزمینه
docker compose up -d --build
# مشاهده لاگها
docker compose logs -fفایل foodbot.service را در مسیر /etc/systemd/system/foodbot.service کپی کرده، مسیرهای اجرایی را متناسب با سرور خود اصلاح کنید و سپس:
sudo systemctl daemon-reload
sudo systemctl enable foodbot
sudo systemctl start foodbot
sudo systemctl status foodbot