mirror of https://github.com/bvn13/JIrcBot.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
![]() |
2 months ago | |
---|---|---|
.idea/libraries | 5 years ago | |
docs | 5 years ago | |
src/main | 4 years ago | |
.gitignore | 5 years ago | |
LICENSE | 6 years ago | |
README.md | 4 years ago | |
config.json | 5 years ago | |
jircbot.iml | 5 years ago | |
jircbot.service | 5 years ago | |
pom.xml | 2 months ago |
README.md
JIrcBot
powered by PircBotX
Из реализованных функций:
- Пинг
- Приветствие входящих пользователей
- Калькулятор с возможностью вычислять выражения с переменными
- Проверка регулярных выражений
- Выдача советов от сервиса fucking-great-advice
- Автопостинг названия URL при его появлении в чате
- Викторины - предоставлены сервисом baza-otvetov.ru
- Выдача случайной цитаты из сервиса Bash.Org / Bash.im
- Авторелогин после кика. Бывают ситуации, когда другой бот автоматически кикает моего бота (в канале #lor на freenode, например).
- Система отложенных сообщений. Можно написать
?tell <username|me> your phrase here
, и бот доставит это сообщение указанному пользователю, когда он напишет в чат - Грамматический контроль и коррекция
Поиск Google- Поиск DuckDuckGo
- Интерактивная справка
2019-03-15
- Реализована интерактивная справка - команда
?h
или?help
2019-09-10
- Поиск Google - заменен на поиск DuckDuckGo
2018-04-11
- Добавлена статистика по сообщениям
2018-03-29
- Добавлена возможность администрирования бота из чата канала
- Добавлена возможность забыть все отложенные сообщения для пользователя
- Добавлена возможность прочитать разом все отложенные сообщения для пользователя - отправляются в приват
2018-03-29
- Добавлена возможность администрирования бота через приватные сообщения к нему
2018-03-28
- Портирован на SpringBoot 2 (NB! перед запуском бота версии 2.0.0 необходимо запустить скрипт в базе: /srv/main/resources/sql/update_to_2.0.0.sql)
2018-03-27
- Добавлена возможность коннекта бота к нескольким серверам
2018-02-06
- Добавлен поиск Google
2018-02-05
- Добавлен модуль грамматического контроля и коррекция
2018-02-01
- К боту подключена БД (сейчас PostgreSQL).
- Реализованы индивидуальные настройки возможностей бота для каждого канала - хранится в БД
- Реализована система отложенных сообщений
Установка и запуск
Требования для работы:
- JDK версии 1.8
- Maven
- PostgreSQL версии 9.4-9.6 (на других не проверялся) - настройки подключения находятся в файле
\src\main\resources\application.yml
По-умолчанию PostgreSQL расположен на localhost, должен быть создан пользователь jircbot
с паролем jircbotpass
, и он должен быть владельцем базы jircbot
.
Установка
Клонируем репозиторий
> git clone https://github.com/bvn13/JIrcBot.git
Cloning into 'JIrcBot'...
remote: Counting objects: 615, done.
remote: Compressing objects: 100% (199/199), done.
Receiving objects: 83% (511/615), 76.01 KiB | 65.00), pack-reused 167Receiving objects: 82% (505/615), 76.01 KiB | 65.00 KiB/s
Receiving objects: 100% (615/615), 111.97 KiB | 72.00 KiB/s, done.
Resolving deltas: 100% (253/253), done.
Собираем проект
> cd JIrcBot
> mvn clean package
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building jircbot 1.1.2
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ jircbot ---
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ jircbot ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ jircbot ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 41 source files to C:\dev\test\JIrcBot\target\classes
[WARNING] /C:/dev/test/JIrcBot/src/main/java/ru/bvn13/jircbot/config/JircBotConfiguration.java: C:\dev\test\JIrcBot\src\main\java\ru\bvn13\jircbot\config\JircBotConfiguration.java uses unchecked or unsafe operations.
[WARNING] /C:/dev/test/JIrcBot/src/main/java/ru/bvn13/jircbot/config/JircBotConfiguration.java: Recompile with -Xlint:unchecked for details.
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ jircbot ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\dev\test\JIrcBot\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ jircbot ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ jircbot ---
[INFO] No tests to run.
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ jircbot ---
[INFO] Building jar: C:\dev\test\JIrcBot\target\jircbot-1.1.2.jar
[INFO]
[INFO] --- spring-boot-maven-plugin:1.5.6.RELEASE:repackage (default) @ jircbot ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 17.916 s
[INFO] Finished at: 2018-02-08T10:35:43+03:00
[INFO] Final Memory: 33M/287M
[INFO] ------------------------------------------------------------------------
Настройка
В файле config.json в корне проекта хранятся настройки. Укажите сервер, имя бота и каналы, на которые он должен заходить.
{
"version" : "1.0",
"connections" : [
{
"enabled" : true,
"server" : "irc.freenode.net",
"port" : 6667,
"channelsNames" : ["#voidforum", "#lor"],
"botName" : "jircbot"
},
{
"enabled" : true,
"server" : "irc.mozilla.org",
"port" : 6667,
"channelsNames" : ["#voidforum", "#lor"],
"botName" : "jircbot"
}
]
}
Запуск
Для Linux можно использовать модуль SystemD, который лежит в корне проекта. Конфигурационный файл должен лежать рядом с файлом .jar
[Unit]
Description=JIrcBot
After=network.target
[Service]
User=bvn13
WorkingDirectory=/srv/jircbot
ExecStart=/usr/bin/java -jar /srv/jircbot/jircbot-1.1.2.jar
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
В противном случае можно использовать запуск из командной строки.
> java -jar target/jircbot-1.1.2.jar