logo

Telegram-Бот с админ-панелью на Next.js

Этот проект представляет собой Telegram-бот, разработанный с использованием современных технологий, таких как Next.js, TypeScript, Prisma, Telegram API и авторизация через MetaMask.

Telegram-Бот с админ-панелью на Next.js

Основной функционал проекта

Проект ориентирован на автоматизацию взаимодействий в Telegram-чате, включая отправку сообщений с кнопками, приветствие новых участников и блокировку пользователей, использующих запрещенные слова.

Функционал бота в чате Telegram

  1. Ответ на ключевые слова:

    • Когда участник чата вводит ключевое слово, бот автоматически отправляет сообщение с соответствующим текстом и интерактивными кнопками.
  2. Приветствие новых участников:

    • При вступлении нового пользователя в чат бот отправляет приветственное сообщение с кнопками, предоставляя полезную информацию или ссылки для взаимодействия.
  3. Блокировка за запрещенные слова:

    • Если участник чата использует запрещенное слово, бот выполняет следующие действия:
      • Удаляет сообщение с запрещенным словом.
      • Блокирует пользователя, нарушившего правила чата.

Ответ на ключевые слова

Админка для управления ботом

Для управления настройками и поведением бота разработана админка на базе внутреннего API Next.js. Админка предоставляет следующие возможности:

  • Редактирование ключевых слов:

    • Возможность добавлять и изменять ключевые слова, на которые бот должен реагировать.
  • Управление запрещенными словами:

    • Добавление и удаление запрещенных слов для автоматической модерации.
  • Настройка кнопок:

    • Добавление новых кнопок и изменение их расположения в сообщениях бота.
  • Исключения для пользователей:

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

Авторизация в админке

  • Авторизация через MetaMask:
    • Для входа в админку используется MetaMask с авторизацией определенного кошелька, обеспечивая безопасность и доступ только для доверенных пользователей.

Работа с базой данных

  • Prisma и SQLite:
    • Все данные, редактируемые через админку, сохраняются в базу данных SQLite с использованием Prisma, что обеспечивает удобное и типобезопасное взаимодействие с данными внутри Next.js.

Дополнительный функционал: Юзербот

Проект также включает в себя юзербот, предназначенный для выполнения специальных задач:

  • Реакции на публикации в канале:
    • Юзербот, авторизованный через клиент, автоматически ставит реакции на все публикации в определенном Telegram-канале от имени пользователя. Это может быть полезно для поддержания активности и взаимодействия с контентом канала.

Технические детали

Используемые технологии

  • Next.js (последняя версия): Фреймворк для серверного и клиентского рендеринга с высокой производительностью.
  • TypeScript: Использование TypeScript позволяет создавать безопасный и типизированный код.
  • Prisma: ORM для взаимодействия с базой данных, что делает работу с SQLite простой и эффективной.
  • Telegram API: Для автоматизации работы в чате и взаимодействия с участниками.
  • MetaMask авторизация: Обеспечивает безопасный вход в админку с проверкой кошелька.

Преимущества проекта

  1. Удобство для администраторов:

    • Полный контроль над ключевыми словами, запрещенными словами и настройками взаимодействия через интуитивно понятную админку.
  2. Автоматизация работы чата:

    • Бот выполняет рутинные задачи, такие как приветствие участников, ответы на запросы и блокировка нарушителей, что значительно снижает нагрузку на модераторов.
  3. Гибкость настройки:

    • Возможность изменения кнопок и исключений для пользователей позволяет быстро адаптировать функционал бота под текущие нужды чата.
  4. Безопасность:

    • Доступ к админке только через MetaMask обеспечивает высокий уровень безопасности и защиты от несанкционированного доступа.

Доступ к админке только через MetaMask обеспечивает высокий уровень безопасности

Что имеем на выходе

Проект является мощным инструментом для управления и модерирования Telegram-чата, предоставляя администраторам гибкость и удобство, а пользователям — комфортное взаимодействие через автоматически генерируемые сообщения и реакции. Использование современных технологий делает решение производительным, надежным и безопасным, удовлетворяя как технические, так и бизнес-требования.