Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Утилита Rcon бот для вашей группы вк [Python3]

Используете бота?

dimkaS

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
dimkaS
Привет RuBukkit, выкладываю rcon бота для VK на python3.

Конфиг:
upload_2021-1-3_0-55-26.png

Установка и запуск:
  • Предварительно на машине должен быть установлен python3.
  • Качаем бота по ссылке ниже.
  • Помещаем файл бота в отдельную папку.
  • Заходим в терминал.
  • Переходим в директорию куда ренее переместили файл (main.py).
  • Устанавливаем нужные модули для python'a:
  • Код:
    [*]Вводим эти команды:
    pip3 install requests
    pip3 install mcrcon
    pip3 install ruamel.yaml
    pip3 install pathlib (нужен для версий <=1.0.2)
  • Первый запуск: в терминале пишем>> python3 main.py
  • В папке должен создаться файл config.yml, настраиваем его под себя, сохраняем.
  • Запускаем >> python3 main.py
  • Если после запуска нет никаких ошибок, переходим в диалог с группой, данные которой указали в конфиге, пишем "rcon help".
  • Переходим в настройки группы.
  • Далее во вкладку Сообщения, напротив Сообщения сообщества ставим Включены
  • Далее во вкладку Настройки»Работа с API, в появившейся страничке жмем на Long Poll API, напротив Long Poll API ставим Включен.
  • Версию API ставим не ниже 5.92.
  • В той-же вкладке (Работа с API), переходим в под-вкладку Типы событий, там ставим галочку напротив Входящие сообщения.
  • Теперь переходим на той же странице (Работа с API) во вкладку Ключи доступа.
  • Жмем на кнопочку Создать ключ, ставим все галочки и подтверждаем все что нужно.
  • Полученный ключ вставляем в конфиг, в поле token

TODO:
  • Мультисерверность (готово).
  • Кастомные команды.

Скачать:
* Рекомендую скачивать последнюю версию.
 
Последнее редактирование:
UPD:
Исправил пару багов, из за которых бот не работал на python'e < 3.7.
 
python3.7 bot.py
Данные конфига загружены!!
Traceback (most recent call last):
File "bot.py", line 243, in start
events = self.api.get_events()
TypeError: get_events() missing 1 required positional argument: 'events'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "bot.py", line 254, in <module>
bot.start()
File "bot.py", line 246, in start
except requests.exceptions.ConnectionError:
NameError: name 'requests' is not defined
 
Перекачайте новую версию!

Ребят, всё отлично работает на версии Python 3.7.2. Палю реальную фишку, как сие чудо интегрировать к себе в группу. Заходим в сообщество, далее Управление → Работа с API → Создать ключ (отмечаем все галочки, вставляем ключ в config.yml, если config.yml отсутствует читай ниже) → Переходим на вкладку LongPollApi → LongPollApi включён → версия 5.92 → Тип событий (отмечаем все галочки).

Как установить питон? Заходим на python точка org, качаем дистрибутив, при установке ставим обязательно галочку "Add Python 3.7 to PATH", после установки открываем cmd → пишем python, если ошибки нет, значит всё отлично поставилось. Далее создаём виртуальное окружение для бота, делаем в любом месте папку с любым названием, например на диске D "test", запускаем командную стоку от имени администратора и пишем cd c:\test → pip install virtualenv → python -m venv test. Создастся папка test, далее в том же окошке командной строки пишем cd test\Scripts → activate. После этого вы окажетесь в так называемой виртуальной среде, изолированной от основного питона. Это можно понять по тому, что в начале строки будет писать в скобках (test). Теперь ставим библиотеки pip3 install requests → pip3 install mcrcon → pip3 install pathlib → pip3 install ruamel.yaml . Далее кидаем в папку test\Scripts нашего бота bot.py и вписываем в том же самом окне командной строки python bot.py . Выдаст ошибку, и создастся файл config.yml . Теперь нужно ПРАВИЛЬНО И ВНИМАТЕЛЬНО заполнить конфиг, после заполнения можно дополнительно проверить его на сайте YAML VALIDATOR, сохраняем конфиг, пробуем запускать → python bot.py
 
Ошибка при выполнении метода: messages.send
{'error': {'error_code': 100, 'error_msg': 'One of the parameters specified was missing or invalid: message is empty or inval
id', 'request_params': [{'key': 'oauth', 'value': '1'}, {'key': 'method', 'value': 'messages.send'}, {'key': 'peer_id', 'valu
e': 'thisid'}, {'key': 'group_id', 'value': 'thisid'}, {'key': 'v', 'value': '5.87'}]}}
 
Последнее редактирование:
UPD:
Исправлен 1 баг, когда rcon сервер возвращал пустой ответ и vk api ругался на то что отправлять пользователю попросту нечего.
 
Привет. Ошибка в консоли:
File "bot.py", line 143
print(f'Конфиг создан. ({self.file})\nДля дальнейшей работы скрипта настрой его!')
^
SyntaxError: invalid syntax
 
Эту ошибку я исправил, было "print(f'текст')", убрал f.
Другая ошибка, конфиг не создаётся:
upload_2019-2-9_14-20-3.png
 

Поделиться этой страницей

Назад
Верх