В деятельности сообщества мы стремимся использовать современные технологии для автоматизации ряда организационных процессов. Так несколько лет назад появился чат-бот для Discord - Хугинн. Недавно мы существенно обновили его, полностью переработав код, и добавив новый функционал. В скандинавской мифологии Хугин и Мунин — пара воронов, которые летают по всему миру и сообщают богу Одину о происходящем. На древнеисландском Huginn означает «мыслящий», а Muninn — «помнящий». Бот Хугинн хранит истории о подвигах Викингов, и сообщает им о важнейших событиях в жизни сообщества. Инструкция по установке и настройке бота, а также исходный код доступны в нашем репозитории: https://github.com/Viruviking/discordbot |
Бот позволяет создать некоторый список достижений (свершений), которые смогут получать пользователи сервера, и разделить такие достижения на несколько уровней. При выполнении достижений на имеющемся уровне участник системы автоматически получит следующий уровень, и новые достижения, которые необходимо выполнить на новом уровне. Предполагается, что уровень сложности достижений растет с каждым уровнем, однако достижения могут быть шуточными или такими, которые мотивируют пользователей Системы участвовать в деятельности Вашего сообщества в течение длительного периода времени. |
/profile
Параметры
Профиль участника содержит информацию об уровне пользователя Системы достижений, полученных и не полученных достижениях текущего уровня, а также количестве золотых монет, полученных за достижения. Пользователи с ролью модератора или администратора могут просмотреть свой профиль или профиль другого участника Системы достижений. Остальные пользователи смогут просмотреть только свой профиль.
/addcoins
Параметры
Команда добавляет указанное количество монет выбранному пользователю. Изменения применяются сразу по выполнении команды. В канал уведомлений будет отправлено соответствующее сообщение, с упоминанием выбранного пользователя.
|
/adduser
Параметры
Профили Системы достижений хранятся в отдельной базе данных, таким образом пользователей Discord-сервера, желающих получать достижения, необходимо регистрировать отдельно, при помощи бота. Пользователь получит уведомление о создании профиля в канале уведомлений.
Команда доступна только пользователям с ролью модератора или администратора. /levelup
Параметры
Достижение, выданное участнику будет зарегистрировано в его профиле Системы достижений. В случае, если это последнее достижение из тех, что необходимо получить на текущем уровне, профиль пользователя Системы достижений получит следующий уровень.
Пользователь, которому выдано достижение (и новый уровень - если таковой должен быть выдан), получит уведомление в канале уведомлений. Команда доступна только пользователям с ролью модератора или администратора.
|
Бот может создавать несколько типов событий сообщества: «Мероприятия» и «Квесты». Предполагается что мероприятия - это события с конкретным местом и временем проведения, вероятнее всего, с физическим присутствием участников сообщества на месте. Квесты - по сути задания, которые участники могут выполнять в любом подходящем им месте и в любое подходящее им время, однако в строго определенный период времени (этим они отличаются от Достижений). В момент создания Событие, а также его дата проведения (в случае «Квеста» - срок исполнения), регистрируются в базе данных. Бот ожидает регистрации участников События до указанной даты проведения (срока исполнения). Бот не позволит создать новое Событие в том случае, если в системе уже зарегистрировано Событие выбранного типа, дата проведения (дата исполнения) которого еще не прошла. Таким образом, Бот позволяет осуществлять регистрацию участников только на одно событие каждого типа («Мероприятия», «Квесты») единовременно. Зарегистрироваться, чтобы участвовать в Событии, могут только пользователи канала, имеющие профиль в Системе достижений. |
Параметры
После того как команда будет вызвана, откроется форма «Создать мероприятие». В ней необходимо указать название мероприятия, дату и место проведения. По желанию можно добавить описание мероприятия и ссылку на страницу с подробной информацией.
Дата должна быть указана в формате
|
После отправки формы, в канал уведомлений придет сообщение с упомянутой в нём ролью. Идентификатор роли (ID) должен быть указан в файле конфигурации, в качестве значения параметра
По нажатии на кнопку «Участвую» пользователь будет зарегистрирован в БД в качестве участника мероприятия и получит соответствующие уведомление.
По нажатии на кнопку «Не участвую» пользователь будет зарегистрирован как «Отказавшийся от участия» и также получит соответствующее уведомление.
Пользователь может изменить решение об участии в мероприятии, нажав соответствующую кнопку. Изменить решение можно только до начала мероприятия. Команда доступна только для пользователей с ролью модератора или администратора. Регистрироваться (или отказаться от участия) могут все пользователи, имеющие профиль Системы достижений. |
Параметры
В результате вызова команды откроется форма «Создать квест». В ней необходимо указать название квеста, описать суть задания, указать дату - срок исполнения, а также предложить награду для тех кто справится с заданием.
Дата должна быть указана в формате
|
После отправки формы, в канал уведомлений придет сообщение с информацией о квесте. Под сообщением будут размещена кнопка «Принять» - для регистрации на участие в квесте.
По нажатии на кнопку «Принять» пользователь будет зарегистрирован в БД в качестве участника квеста и получит соответствующие уведомление. Пользователь не может изменить свое решение касательно участия в квесте.
Команда доступна только для пользователей с ролью модератора или администратора. Принять участие в квесте могут все пользователи, имеющие профиль Системы достижений.
|
/listevent [event_type: Событие]
Параметры
Команда показывает список зарегистрированных участников, а также отказавшихся от участия в Мероприятии, для которого в данный момент открыта регистрация, либо для последнего мероприятия, созданного при помощи Бота (в том случае, если дата мероприятия уже прошла). Результат вывода команды будет показан пользователю, вызвавшему её. Команда доступна только для пользователей с ролью модератора или администратора.
В случае, если пользователь изменил решение касательно участия в мероприятии (или отказа от участия в нём), в списке будет отражено последнее решение пользователя. |
/listevent [event_type: Квест]
Параметры
Команда показывает список зарегистрированных участников Квеста, для которого в данный момент открыта регистрация, либо для последнего Квеста, созданного при помощи Бота (в том случае, если срок выполнения уже прошел). Результат вывода команды будет показан пользователю, вызвавшему её. Команда доступна только для пользователей с ролью модератора или администратора.
|
/roll
Параметры
Команда показывает случайное значение кубика (дайса) выбранного типа. |
/card
Параметры
Команда показывает случайную карту из колоды в 54 карты. |
Код Бота предоставляется в рамках стандартной лицензии GNU. Это означает что Вы можете использовать исходный код Бота и/или видоизменять его под нужды собственного проекта. К сожалению, мы не оказываем техническую поддержку по вопросам настройки и запуска Бота на сторонних серверах Discord. Также мы не можем гарантировать постоянную доступность сервисов Sunfox.ee, на которых размещены ресурсы (в основном, изображения), используемые для работы Бота. Сообщить об ошибке в работе Бота Huginn можно на соответствующей странице репозитория: https://github.com/Viruviking/discordbot/issues. Там же можно сделать предложение по его улучшению. |