No description
  • Python 97.6%
  • Dockerfile 1.7%
  • Makefile 0.7%
Find a file
Nikki Claude 04153bb760
Some checks failed
docker-build-push / gitleaks (push) Successful in 6s
docker-build-push / detect-secrets (push) Failing after 8s
docker-build-push / build-push (push) Has been skipped
feat: в группе бот отвечает только на тег или ответ на сообщение
Signed-off-by: Nikki Claude <nikki.claude@avallon.pw>
2026-10-13 13:15:57 +07:00
.forgejo/workflows feat: блюдо дня, реплики Ковырялова, dice, рассылка по будням 2026-10-13 12:41:36 +07:00
.env.example feat: в группе бот отвечает только на тег или ответ на сообщение 2026-10-13 13:15:57 +07:00
.gitignore feat: блюдо дня, реплики Ковырялова, dice, рассылка по будням 2026-10-13 12:41:36 +07:00
chats.py feat: блюдо дня, реплики Ковырялова, dice, рассылка по будням 2026-10-13 12:41:36 +07:00
docker-compose.yml feat: блюдо дня, реплики Ковырялова, dice, рассылка по будням 2026-10-13 12:41:36 +07:00
Dockerfile feat: блюдо дня, реплики Ковырялова, dice, рассылка по будням 2026-10-13 12:41:36 +07:00
eda_choice.py Initial commit 2025-05-28 13:02:23 +07:00
eda_choice_v2.py feat: в группе бот отвечает только на тег или ответ на сообщение 2026-10-13 13:15:57 +07:00
eda_choices_order.py Add eda_choices_order.py 2025-05-30 18:34:40 +07:00
kovyryalov_lines.py feat: убраны кнопки «Ещё вариант» и «Блюдо дня» 2026-10-13 13:06:47 +07:00
Makefile feat: add Makefile, docker-compose, env.example 2026-04-15 18:50:56 +07:00
README.md feat: в группе бот отвечает только на тег или ответ на сообщение 2026-10-13 13:15:57 +07:00
requirements.txt feat: блюдо дня, реплики Ковырялова, dice, рассылка по будням 2026-10-13 12:41:36 +07:00
restouran.json feat: блюдо дня, реплики Ковырялова, dice, рассылка по будням 2026-10-13 12:41:36 +07:00
restouran.txt Initial commit 2025-05-28 13:02:23 +07:00
stolovaya.py feat: блюдо дня, реплики Ковырялова, dice, рассылка по будням 2026-10-13 12:41:36 +07:00
test_bot.py feat: шутки по темам, команды /joke и /ad, кнопка шутки 2026-10-13 13:05:39 +07:00

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), доставка по Новосибирску.