aloe47 / sketal

Бот для ВКонтакте. Беседы / группы / развлечения.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Title

sketal

Codacy Badge Build Status

Немного о боте

  • Бот работает на python3.6 и выше. Ниже не работает. Совсем. Это важно.
  • Бот использует asyncio, aiohttp и т.д.

Инструкция

  1. Скачать бота.

  2. Скачать Python версии 3.6 или выше.

    В командной строке используйте python3.6, python3 или python в соответствии с тем, как вы установили Python.

  3. Установить модули для python. Список модулей находится в requirements.txt.

    python -m pip install -r requirements.txt
    
  4. Настроить бота в settings.py. Обязательно для заполнения только поле USERS.

    Обращайте внимание на запятые и кавычки! Это важно.

    Вы можете заменить ТУТ ТОКЕН ГРУППЫ на токен вашей группы, полученный в настройках группы с максимальными правами (желательно), или ввести свои данные для запуска бота от лица пользователя (или сразу использовать свой токен).

    ("group", "ТУТ ТОКЕН ГРУППЫ",),
    ...
    ("user", "ЛОГИН ПОЛЬЗОВАТЕЛЯ", "ПАРОЛЬ ПОЛЬЗОВАТЕЛЯ",),
    ...
    ("user", "ТОКЕН ПОЛЬЗОВАТЕЛЯ",),

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

    USERS = (
      ("group", "ТУТ ТОКЕН ГРУППЫ",),
      ("user", "ЛОГИН ПОЛЬЗОВАТЕЛЯ", "ПАРОЛЬ ПОЛЬЗОВАТЕЛЯ",),
    )
    
  5. Запустить бота из командной строки из папки с ботом.

    python run.py
    
  6. Чтобы запустить бота в режиме, когда он всегда перезапускается в случае какой-то ошибки, вы можете написать.

    python runner.py
    

Подключение/отключение плагинов

Список плагинов (eng)

Активные плагины указываются в настройках бота, в поле PLUGINS (список пг=лагинов начинается с PLUGINS = (). Каждый плагин является экземпляром определнного класса и создаётся следущим выражением: ИмяКласса(аргумент1=значение1, аргумент2=значение2 и т.д.),. Например: StaffControlPlugin(prefixes=DEFAULT_PREFIXES, admins=DEFAULT_ADMINS, setadmins=True),. Некоторые плагины отключены по умолчанию. Доступные аргументы вы можете найти в классах плагинов.

Документация

Как таковой документации проект сейчас не имеет. Многие функции, примеры, возможности бота можно найти, изучая исходный код плагинов и файлы бота. Например: tests.py, vk/helpers.py, handler/base_plugin.py и т.д.

Материалы:

Sketal <8.0

Замечания

  • Никакие плагины не должны менять код основных частей бота, чтобы было легко обновляться и менять какие-то базовые вещи (переписывать плагины легче, чем восстанавливать функционал после обновлений).
  • При использовании CommandPlugin помните, что команды сортируются в соответствии с количесвом пробелов в команде (от большего к меньшему)
  • При запуске run.py, будет попытка использовать настройки BotSettings из файла с настройками settings_prod.py, затем, в случае неудачи, будет использован BotSettings из settings.py.

Участники проекта:

@michaelkrukov http://michaelkrukov.ru/

About

Бот для ВКонтакте. Беседы / группы / развлечения.

License:MIT License


Languages

Language:Python 100.0%Language:Makefile 0.0%