Skip to content
This repository has been archived by the owner on Oct 12, 2021. It is now read-only.

Yardanico/nickel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nickel (Никель) Build Status

Чат-бот для ВКонтакте, написанный на языке Nim.

Текущий статус проекта

Этот бот может работать как и от имени пользователя (авторизация от имени приложения ВКонтакте на iPhone), так и от группы. Бот поддерживает работу через User Long Poll API, Callback API.

Модули (доступные помечены галочкой)

  • Приветствие (Приветствует пользователя) - привет
  • Случайные мемы - мемы
  • Случайные загадки - загадка
  • Случайные факты - факт
  • Функции случайных чисел (случайные числа, оценки, шар предсказаний, случайная дата)
  • Курс валют (Отображение курсов основных валют) - курс
  • Время (Показывает текущую дату и время) - время
  • Блокнот (Может запоминать и вспоминать строки) - напомни и запомни
  • Рассказать шутку (берёт случайную цитату с https://bash.im) - пошути
  • Выключение (Выключает бота, если команду послал администратор бота) - выключись
  • Калькулятор - посчитай 1+1
  • Операции с текстом (перевернуть текст, зачеркнуть текст, сгенерировать смех)
  • Получение погоды - погода в Москве завтра
  • Получение краткого описания (первого абзаца) с Википедии
  • Хелперы (сокращение ссылки, ID пользователя по пересланному сообщению)
  • Перевод текста через API Яндекс.Переводчика - переведи на китайский Привет!
  • Диалог с пользователем (с помощью Dialogflow)
  • Автообновление статуса
  • Пересылка сообщений другому пользователю
  • Озвучивание текста через голосовые сообщения

В данном списке могут отстутствовать какие-либо модули и команды, которые есть в боте. Просмотрите файлы в папке src/modules для более точной информации

Возможности (доступные и запланированные)

  • Полная асинхронность
  • Работа от имени группы
  • Конфигурация
  • Обработка ошибок
  • Логгирование событий в консоль
  • Возможность задать несколько команд для одного модуля
  • Система модулей
  • Упрощённое создание модулей с помощью метапрограммирования (DSL)
  • Автоматическое распознавание неправильной раскладки
  • Работа от имени пользователя (через авторизацию под именем Android приложения ВК)
  • Возможность создавать и изменять префиксы бота
  • Автоматическое использование execute для ускорения работы бота под высокой нагрузкой
  • Конфигурация модулей
  • Возможность изменения команд через файлы конфигурации
  • Хранилище данных
  • Тестирование производительности и оптимизация (если необходимо)

Создание модулей

В папке src/modules есть пример модуля в файле example.nim, который отвечает на команду тест Там есть и другие модули, код которых можно изучить для понимания того, что можно реализовать с помощью бота.

Модули могут работать со всеми методами API ВКонтакте (от имени группы - только те, которые можно выполнять от имени группы).

Пример простейшего модуля, который отвечает на команду пользователя "привет":

include base

module "Приветствие":
  command "привет":
    usage = "привет - поприветствовать пользователя"
    answer "Привет!"

About

Бот для ВКонтакте, написанный на языке программирования @nim-lang

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages