Skip to content

gaskeo/vk_bot

Repository files navigation

Бот для vk

Бот, который может генерировать сообщения на основе сообщений пользователей с помощью цепей Маркова. Также есть несколько команд.

Команды

Содержание по командам

Сервисные

/help

Список всех команд

/

Повторить команду из ответного сообщения

/ut, /uptime, /время

Показать, сколько времени работает бот

/a, alive, живой

Проверить, работает ли бот

/ck, /keyboard, /клавиатура

Очистить все клавиатуры, если они есть

Обычные

/gs, /synonyms, /синонимы

Ищет синонимы к слову. Использование:

/gs [слово или слова] или /gs [ответ на сообщение] или /gs [пост]

/cat, /кот

Отправляет случайную картинку кота

/yn, /yesno, ответ

Рандомно отвечает на вопрос:

/yn или /yn [вопрос] или /yn [ответ на сообщение] или /yn [пост]

/cc

Создать новую беседу

/cc или /cc [название беседы]

/cp, /postirony, /постирония

ПосТиРОниРуЕт тЕКст

/cp [текст] или /cp [ответ на сообщение] или /cp [пост]

С картинками

Картинки могут быть в самом сообщении или в ответном сообщении

/cs, /shakal, /шакал

Шакалит картинку

/cs или /cs [степень шакала, число]

shakal

/cg, /grain, зернистость

Добавляет зернистость на фотографию

/cg или /cg [степень зернистости, число]

grain

/ca, /arabfunny, /арабфанни

Делает арабфанни

/ca или /ca [цвет на английском]

arabfunny

/cd, /dab, /дэб

Создает дэб из картинки или картинок, нацелен в первую очередь на лица

Эта команда принимает только одну или две картинки, в случае с одной картинкой дэб будет стандартным, иначе дэб будет создан из второй картинки

dab

Команды только для бесед

/p, /peer, /айди

Позволяет узнать id беседы для бота

/g, /generate, /скажи

Бот сгенерирует сообщение, даже если шанс ответа равен нулю

/g или /g [слово, с которого должно начаться сообщение]

/at, /after_that, /после

Вернет все слова, которые участники беседы писали после данного слова

/at [слово]

/l, /lox, /лох

Вернет случайного участника беседы

/mc, /my_count, /написал

Узнать, сколько сообщений длинной больше 10 слов написал пользователь

/gt, /get_top, /топ

Топ 5 участников беседы по количеству сообщений

/gnt, /generate_new_token, /сгенерируй

Генерация токена для подключения к другой беседе

/c, /connect, /присоединиться

Подключиться к другой беседе по ее токену

/c [токен, который сгенерировал администратор другой беседы]

/accept_connect

Подтвердить сопряжение с другой беседой, после того, как в ней ввели /connect с токеном этой беседы.

Обычно эту команду можно выполнить при нажатии на клавиатуру, которая открывается после команды connect в другой беседы

/send, /отправить

Отправить сообщение в беседу, к которой присоединена данная беседа

/send [сообщение]

/disconnect

Отключиться от другой беседы

Только для администраторов

/ac

Позволяет поставить шанс ответа бота в беседу обычным сообщением

/ac [шанс от 0 до 100]

/gac, /get_answer, /шансответа

Возвращает шанс ответа в беседу

/hc

Поставить шанс ответа ху- в беседу

/hc [шаос от 0 до 100]

/ghc, /get_huy, /шансхуя

Возвращает шанс ответа ху- в беседу

/gc, /get_count_words

Позволяет посмотреть количество уникальных слов в беседе

/tac

Переключить права изменения частоты ответов: Только администраторы или все участники беседы

Только для администраторов

/s

Показать настройки беседы

/clear

Очистить все слова в боте

Осторожно! Восстановить словарный запас бота невозможно

Только для администраторов

/update

Обновляет чат, если бот завис, все настройки частоты ответа переводит в стандартные значения

/dt

Удаляет слова из словарного запаса бота

/dt [слова] или /dt [ответ на сообщение]

Только для администраторов бота

/adm

Справка по командам для админа

/sa

Дать права администратора пользователю

/sa [ссылка на пользователя] [уровень администрирования]

/ga

Получить список администраторов

/ia

Проверить, является ли пользователь админом

/ia [ссылка на пользователя]

/th

Проверить живые потоки

/sp

Отправить сообщение от лица бота в беседу /sp [peer_id] [сообщение]

/bb

Завершить работу бота

Установка на сервер

  1. Скачать и настроить redis
  2. Заполнить пропуски config.env
Ключ Что значит
vk_group_token Токен группы
vk_group_id id группы, для которой создан токен
vk_group_name Название группы
chief_admin id главного администратора для бота
redis_pass Пароль для redis
font_linux Абсолютный путь до папки fonts: /.../static/fonts/
font_windows Аналогично
  1. Скачать зависимости из requirements.txt:

    pip install -r requirements.txt

  2. Запустить бота

python core.py