Бот для пересылки голосований, которые содержат "Анонс:" в тексте вопроса.
- Создайте нового бота через @BotFather и получите токен бота
- Добавьте бота в исходные чаты (откуда нужно пересылать голосования)
- Добавьте бота в целевой чат (куда будут пересылаться голосования)
- Получите ID целевого чата:
- Добавьте @userinfobot в целевой чат
- Перешлите любое сообщение из целевого чата боту @userinfobot
- Бот покажет ID чата
- Скопируйте файл
.env.example
в.env
и заполните:BOT_TOKEN=ваш_токен_бота TARGET_CHAT_ID=id_целевого_чата
-
Установите Docker и Docker Compose
-
Запустите бота одним из способов:
Используйте скрипт deploy.sh
для автоматического развертывания:
# Prod режим (по умолчанию)
./deploy.sh
# Prod режим
./deploy.sh .env.prod
# С указанием другого env файла
./deploy.sh .env.dev
Скрипт автоматически:
- Получает последние изменения из git
- Проверяет наличие env файла
- Останавливает текущий контейнер
- Собирает и запускает новый контейнер
- Проверяет успешность запуска
Если вам нужен более тонкий контроль:
# Dev режим (по умолчанию)
docker compose up -d
# Prod режим
ENV_FILE=.env.prod docker compose up -d
# Просмотр логов
docker compose logs -f
# Остановка бота
docker compose down
-
Установите зависимости:
npm install
-
Запустите бота:
npm run dev
- Добавьте бота как администратора в чаты, где создаются голосования
- Бот будет автоматически пересылать в целевой чат все голосования, текст которых начинается с "Анонс:" (без учета регистра)
- В консоли будут отображаться логи о пересылке голосований