Skip to content

Djaler/evil-bot

Repository files navigation

Злой Бот

Привет, это репозиторий лучшего бота в телеге!:heart_eyes:
Бот многофункционален и может работать в нескольких чатах одновременно!:yum:
Можете добавить @zloychatbot в свой чат или склонировать репозиторий для создания своего!:star_struck:

Возможности Злого Бота

На данный момент бот имеет в своем арсенале следующие возможности:

Капча 😲

Для работы боту необходимы права администратора в чате!

В бот встроена капча для новых юзеров в чате и приветственное сообщение.
Также проверяется есть ли юзер в списке CAS. 👮

Распознавание речи 🗣️

С помощью VK Cloud Solutions. Бот может распознавать голосовые сообщения.

Конвертация видео

Бот автоматически сконвертирует видео в mp4 из других форматов

Команды 🧐

  • /statistic - статистика сообщений юзера в чате;
  • /top10 - топ 10 спамеров в чате;
  • /me - бот будет писать за тебя;
  • /ktozloy - находит злого юзера в чате;
  • /f - отдать честь;
  • /resolve или /r - решает сложные вопросы;
  • /currency или /cur - перевод валюты;
  • /time - текущее время;
  • /sed - работа со строкой с помощью sed;
  • /switch_gender - сменить пол юзера;
  • /continue - продолжить текст с помощью GPT-3;

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

  • /block_stickerpack - заблокировать стикерпак в чате;
  • /unblock_stickerpack - разблокировать стикерпак в чате;

Тригеры 😎

У бота есть обширный список слов тригеров на которые он реагирует и отвечает.

Webhook 😋

Также бот умеет в webhook:

  telegram.bot.webhook.url = ""
  telegram.bot.webhook.port = 8080

Запуск своего бота 🤓

Можно запустить бота напрямую на Heroku или самостоятельно!

Запуск на Heroku 💃

Нажимаем на кнопку и переходим к настройкам
Deploy

Настройка Heroku 🧑‍🔧

Подробнее

Устанавливаем Config Vars

Ключ API полученный от Fixer.io

  FIXER_API_KEY

Ключ API полученный от LocationiQ.com

  LOCATIONIQ_API_KEY

Токен телеграм бота полученный от BotFather

  TELEGRAM_BOT_TOKEN

API полученный от VK Cloud Solutions.

  VK_API_KEY

Адрес вашего приложения Heroku: «https:// app-name .herokuapp.com/».

  TELEGRAM_BOT_WEBHOOK_URL

Вот и всё ваш бот готов!

Самостоятельный запуск 👨‍💻

Подробнее

Загрузка 📈

Устанавливаем JDK если ее нет, минимальная версия: 8.
Клонируем репозиторий с GitHub.

Запуск бота с помощью docker-compose :godmode:

Бота и БД можно запустить в контейнерах с помощью Docker и docker-compose. Для этого необходимо заполнить файл bot.env. (см пример в sample_bot.env, описание полей ниже)

После этого стартуем бота с помощью docker-compose up -d

Настройка :suspect:

Для запуска необходимо заполнить следующие поля в application.properties или задать переменные окружения:

Токен телеграм бота :rage1:

Токен телеграм бота полученный от BotFather

application.properties:

  telegram.bot.token =

Окружение:

  export TELEGRAM_BOT_TOKEN=

Ключ сервиса для конвертации валют :goberserk:

Ключ API полученный от Fixer.io

application.properties:

  fixer.api.key =

Окружение:

  export FIXER_API_KEY=

Ключ сервиса для определения времени :finnadie:

Ключ API полученный от LocationiQ.com

application.properties:

  locationiq.api.key =

Окружение:

  export LOCATIONIQ_API_KEY=

Ключ сервиса для распознавания речи :feelsgood:

Ключ API полученный от VK Cloud Solutions.

В разделе "Машинное обучение"->"Cloud Voice" и генерируем сервисный токен.

application.properties:

  vk.api.key =

Окружение:

  export VK_API_KEY=

Настройка базы данных :hurtrealbad:

Данную операцию можно пропустить если производить запуск с помощью docker-compose.

Подробнее

Настройка базы данных, используется СУБД PostgreSQL

application.properties:

  spring.datasource.url =
  spring.datasource.username =
  spring.datasource.password =

Окружение:

  export SPRING_DATASOURCE_URL=
  export SPRING_DATASOURCE_USERNAME=
  export SPRING_DATASOURCE_PASSWORD=

Например:

Пример docker-compose для создания базы данных

  version: '3.8'
  services:
      evil_bot_db:
          container_name: evil_bot_db_container
          image: postgres:13-alpine
          restart: always
          environment:
              POSTGRES_USER: evil_bot
              POSTGRES_PASSWORD: evil_bot_pass
              POSTGRES_DB: evil_bot_db
          ports:
              - "5432:5432"
          volumes:
              - pg_data:/var/lib/postgresql/data/
  volumes:
      pg_data:

Соответственное заполнение полей для этого примера:

  spring.datasource.url = jdbc:postgresql://localhost:5432/evil_bot_db
  spring.datasource.username = evil_bot
  spring.datasource.password = evil_bot_pass

или

  export SPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/evil_bot_db
  export SPRING_DATASOURCE_USERNAME=evil_bot
  export SPRING_DATASOURCE_PASSWORD=evil_bot_pass

Запуск 🚀

После всех настроек приступим к запуску!

Тестовый запуск 🐌

для Unix

  ./gradlew bootRun 

для Windows

  ./gradlew.bat bootRun

Если все прошло успешно, то можно приступить к сборке! 😋

для Unix

  ./gradlew bootJar

для Windows

  ./gradlew.bat bootJar

А теперь запускаем в ./build/libs! 👨‍💻

для Unix

  cd ./build/libs
  java -jar evil-bot-1.0-SNAPSHOT.jar

для Windows

  cd ./build/libs
  java.exe -jar evil-bot-1.0-SNAPSHOT.jar

Лицензия 💬

MIT License