Skip to content
This repository has been archived by the owner on Feb 3, 2019. It is now read-only.
/ sketal Public archive

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

License

Notifications You must be signed in to change notification settings

ekonda/sketal

Repository files navigation

Title

sketal

Codacy Badge Build Status

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

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

Важно

Бот более не поддерживается. С последними изменениями ВКонтакте, методы, позволяющие работать с сообщениями, будут ограничены для пользователей. Это значит, что этот бот сможет работать, как полагается, только от лица группы, но этот бот не поддерживает работу в беседах от лица группы. Поэтому, скорее всего, этот бот для многих потеряет смысл. Если вы разработчик - рекомендуется обратить внимание на Kutana. Этот бот более надёжный и поддерживает большинство возможностей ВКонтакте.

Инструкция

  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/