Для работы бота необходим Python 3.6+ или PyPy3.5, с версиями ниже бот не работает и поддержка старых версий не планируется. Работоспособность проверена исключительно на ОС семейства Linux(однако пользователи сообщали о работоспособности под Windows).
- Перейдите в папку с ботом
- Выполните команду
pip3 install -r requirements.txt
. Это автоматически установит все нужные модули. - Запустите бота, чтобы он создал файл
settings.py
-python3 vbot.py
. - В
settings.py
заменитеTOKEN
на access_token группы илиLOGIN
иPASSWORD
на логин и пароль аккаунта ВК соответственно. Если ввести и то и другое - бот будет работать как группа, но сможет использовать команды пользователя. - Запустите
python3 vbot.py
. - Если вам нужно запустить бота в фоне, используйте
screen
под Linux. - Бота можно бесплатно захостить на Heroku. Гайд, Еще один гайд.
По умолчанию бот отзывается на префикс: !
.
Сменить их можно в settings.py
на 17 строке.
- Приветствие (Плагин приветствия)
- Список плагинов (Список загруженных плагинов)
- Музыка (Список музыки из ваших рекомендаций в ВК)
- Случайное число (Случайное число в разных диапазонах)
- Случайные мемы (Берутся из паблика, указанного в плагине memes.py)
- Ближайшие дни рождения в группе (Берутся из паблика, указанного в плагине birthday.py)
- Курс валют (Отображение основных курсов валют)
- Список команд (Список всех команд бота с описанием, как их использовать)
- Шар восьмерка (Решает за вас)
- Время (Показывает текущую дату и время)
- Статистика бота (Показывает данные о счетчиках аккаунта)
- Послать сообщение (Посылает сообщение другому пользователю)
- Блокнот (Может запоминать и вспоминать строки)
- Рассказать шутку (рассказывает случайный анекдот)
- Выключение (Выключает бота, если команду послал администратор)
- Поиск видео (Ищет видео в ВК по запросу пользователя)
- Послать анонимное сообщение (Посылает анонимное сообщение другому пользователю)
- Скриншот сайта (делает скриншот сайта)
- Погода (показывает погоду в Москве или указанном городе)
- Перечеркиватель (перечеркивает строку)
- Автоматическое добавление друзей (принимает входящие заявки в друзья раз в 10 секунд)
Для того, чтобы узнать ID пользователя или группы, используйте https://vk.com/linkapp
В папке plugins есть пример плагина в файле example.py, отвечающий на команду !тест
.
В нём подробно расписана структура плагина. Для примера работы plugin.data или plugin.temp_data
вы можете посмотреть memo.py, weathre.py. Для примера цикличных зачад friends.py.
Там есть и другие плагины, код которых можно просмотреть для понимания того, что можно сделать с помощью бота.
Каждый плагин должен иметь экземпляр класса Plugin (из plugin_system) под именем (обязательно) plugin. Все команды, на которые подписывается плагин, должны быть в нижнем регистре.
Вот пример простого плагина:
# Импортируем класс Plugin
from plugin_system import Plugin
# Создаём объект класса, через него мы будем "подписываться" на команды
plugin = Plugin('Плагин для еды')
# Использование async и await обязательно, т.к. бот асинхронный
@plugin.on_command('еда')
async def test(msg, args):
# Отвечаем пользователю
await msg.answer('Где еда?!')
Плагины размещаются в папке plugins
. Если два плагина имеют одинаковые команды - они обрабатываются в обоих плагинах.
Плагины могут работать со всеми методами API ВКонтакте.
Проект открыт, любой может отправить свой Pull request на рассмотрение! Мы обязательно изучим, обсудим и, возможно, примем изменения.
Разработчиков этого бота можно найти в вк: