Skip to content

PeresvetS/bot-doorman-tg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Telegram Welcome Bot

Telegram бот на TypeScript для автоматического приветствия новых участников группы.

Возможности

  • Автоматическое приветствие новых участников группы
  • Форматированные сообщения с Markdown
  • Настраиваемые приветственные сообщения
  • Подробное логирование событий
  • Проверка статуса и прав бота

Требования

  • Node.js (версия 14 или выше)
  • yarn
  • Telegram Bot Token (получается через @BotFather)
  • ID группы Telegram, где будет работать бот

Установка

  1. Клонируйте репозиторий:
git clone https://github.com/PeresvetS/bot-doorman-tg
cd bot-doorman-tg
  1. Установите зависимости:
yarn install
  1. Создайте файл .env в корневой директории проекта:
BOT_TOKEN=your_telegram_bot_token
PORT=3000
NODE_ENV=development
TELEGRAM_GROUP_ID=-1001234567890

Настройка бота

  1. Создайте нового бота через @BotFather:

    • Отправьте команду /newbot
    • Следуйте инструкциям для создания бота
    • Сохраните полученный токен
  2. Настройте права бота:

    • Перейдите к @BotFather
    • Выберите команду /mybots
    • Выберите вашего бота
    • Нажмите Bot Settings
    • Выключите Group Privacy Mode (Turn off)
  3. Получите ID группы:

    • Добавьте бота в группу
    • Отправьте любое сообщение в группу
    • Перейдите по URL: https://api.telegram.org/bot<YourBOTToken>/getUpdates
    • Найдите в ответе "chat":{"id": -1001234567890} - это ID вашей группы
    • Добавьте полученный ID в файл .env
  4. Настройте права бота в группе:

    • Добавьте бота в группу, если еще не добавили
    • Сделайте бота администратором группы
    • Убедитесь, что у бота есть права на чтение сообщений и отправку сообщений

Запуск

Для запуска в режиме разработки:

yarn dev

Для production сборки и запуска:

yarn build
yarn start

Проверка работоспособности

  1. После запуска бот выведет информацию о своем статусе в консоль
  2. Откройте в браузере http://localhost:3000/health для проверки работы сервера
  3. Откройте http://localhost:3000/check-group для проверки настроек группы
  4. Добавьте нового участника в группу для проверки приветственного сообщения

Настройка сообщения

Для изменения текста приветственного сообщения отредактируйте переменную welcomeMessage в файле src/bot/index.ts:

const welcomeMessage = `
*Добро пожаловать, ${newMember.first_name}\\!* 🎉

Ваш текст приветствия...
`;

Устранение неполадок

Если бот не реагирует на новых участников:

  1. Проверьте логи при запуске бота
  2. Убедитесь, что ID группы указан верно
  3. Проверьте права бота в группе
  4. Проверьте, что Group Privacy Mode выключен
  5. Попробуйте удалить и заново добавить бота в группу

Структура проекта

├── src/
│   ├── bot/
│   │   └── index.ts    # Основная логика бота
│   ├── config/
│   │   └── index.ts    # Конфигурация
│   └── index.ts        # Точка входа
├── .env                # Переменные окружения
├── package.json        # Зависимости и скрипты
└── tsconfig.json      # Настройки TypeScript

Логирование

Бот ведет подробное логирование всех событий в консоль:

  • Статус запуска
  • Информация о группе
  • Новые сообщения
  • Новые участники
  • Ошибки отправки сообщений
  • Изменения статуса бота

Вклад в проект

Если вы хотите внести свой вклад в проект:

  1. Создайте форк репозитория
  2. Создайте ветку для ваших изменений
  3. Внесите изменения
  4. Отправьте pull request

Лицензия

MIT

Поддержка

Если у вас возникли проблемы или вопросы:

  1. Проверьте раздел "Устранение неполадок"
  2. Создайте Issue в репозитории
  3. Опишите проблему и шаги для её воспроизведения

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published