- Python 97.6%
- Dockerfile 1.7%
- Makefile 0.7%
|
|
||
|---|---|---|
| .forgejo/workflows | ||
| .env.example | ||
| .gitignore | ||
| chats.py | ||
| docker-compose.yml | ||
| Dockerfile | ||
| eda_choice.py | ||
| eda_choice_v2.py | ||
| eda_choices_order.py | ||
| kovyryalov_lines.py | ||
| Makefile | ||
| README.md | ||
| requirements.txt | ||
| restouran.json | ||
| restouran.txt | ||
| stolovaya.py | ||
| test_bot.py | ||
edalnya-tlg-bot
Telegram-бот «ну чо там по еде»: выбирает случайное место из restouran.json
и отвечает ссылкой. Работает через long polling, входящие порты не нужны.
Запуск
cp .env.example .env # TELEGRAM_BOT_TOKEN и TELEGRAM_BOT_ID (число до двоеточия в токене)
docker compose up -d --build
Без Docker:
pip install -r requirements.txt
python3 eda_choice_v2.py
Как отвечает
В личке бот отвечает на всё. В группе только если его тегнули (@бот ...) или ответили на его
сообщение; dice в группе тоже только ответом на сообщение бота. Команды /place, /dish, /joke, /ad, /help работают везде.
- упоминание бота или фраза «ну чо там по еде» — случайное место из списка;
- «блюдо дня» — сегодняшнее блюдо и рецепт со столовой Ковырялова;
- «привет» — приветствие;
- на остальное — дежурная реплика.
По будням в 09:00 по Новосибирску бот сам присылает блюдо дня и рецепт.
Получатели — чаты из TELEGRAM_CHAT_IDS и те, кто уже писал боту или добавил его к себе.
Id запоминаются в CHATS_PATH (по умолчанию /data/chats.json). Каталог ./data в compose
сохраняет их между пересборками. Если столовая не ответила, в чат ничего не уходит.
Список мест — restouran.json (name, url), доставка по Новосибирску.