Предисловие
Данный пост является дополнением к посту моего RCON бота
Хотя часть инструкции подойдет для всех.
Для начала вам нужен VDS, обычный сервер Minecraft не подойдет!
Создание бота
Создаем бота. Для этого переходим в чат BotFather и пишем ему:
/newbot
Вас попросят ввести ник. Вводим ник.
Потом попросят ввести id бота, по которому к нему будут обращаться
пример: test24serv_bot - bot ОБЯЗАТЕЛЬНО пишем в конце
Итог:
Все, вы создали бота. Вам выслали ссылку и token бота.
Скачиваем самого бота и переносим в нужную директорию.
Переходим к следующему этапу
"ВНИМАНИЕ!'
Запускать бота и устанавливать зависимости лучше в виртуальной среде.
Для чего требуется?
Как минимум, возможно вы используете или будете использовать 2 разных проекта на одной машине. Для устранения ошибок связанных с использованием одной библиотеки, но разных версий. Это не единственная причина, но с другими вы можете ознакомиться на других ресурсах.
Если вы думаете, что вам не нужно использовать виртуальное окружение - смело пролистывайте этот тап, переходя к следующему. Но в случае чего, плач не поможет.
Создаем виртуальное окружение:
Для начала переходим в главную директорию бота (для удобства)
И прописываем:
sudo apt install python3-venv
python3 -m venv venv
Как мы видим, создалась папка venv - это и есть наше виртуальной окружение.
Теперь осталось его активировать:
source venv/bin/activate - для Linux
venv\Scripts\activate - для Windows
Среда активирована. Теперь переходим к следующим пунктам инструкции.
Устанавливая зависимости и запуская бота в виртуальном окружении.
Установка зависимостей
Заходим в терминал и следуем инструкциям ниже:
Для начала нам нужно установить pip. Для этого прописываем:
sudo apt -y install python3-pip
Следующее. Устанавливаем зависимости (заранее прописанные в requirements.txt для удобства)
pip install -r requirements.txt
Вот и все! Установка зависимостей завершена.
Переходим к настройке бота
Конфигурация
Открываем одноименный файл конфигурации (config.yaml)
И видим там следующие строки:
Telegram:
token: "" # здесь указываем токен бота
on_logger_group: False # логирование в группе телеграм (True - вкл, False - выкл)
logger_chat_id: '' # id группы для логирования бота (если включено)
database:
name: 'rcon_bot.db' # название бд
rcon:
HOST: "127.0.0.1" # ip rcon, оставляем так, если бот запускается с машины, где запущен сервер
PASSWORD: "pass" # вводим rcon пароль
PORT: 25576 # ркон порт (стандарт для Java Edition)
Записываем туда данные, как указано в комментариях самого файла.
Где пароль ркон, мы получаем в конфигурации нашего сервера:
файл server.properties, строки:
rcon.password=пароль
rcon.port=порт
На примере:
Telegram:
token: "5320952114:AAELZBQ8sRs2oxPUgDjO04PsLqWyA44S5oI"
on_logger_group: False
logger_chat_id: ''
database:
name: 'rcon_bot.db'
rcon:
HOST: "127.0.0.1"сервер
PASSWORD: "Star Butterfly Forever"
PORT: 25576 #
Также в конфиге найдутся строки:
console:
give_role: False # включение выдачи супер-админа через консоль (рекомендую поставить True)
Запуск
Прописываем в терминале:
python3 bot.py
Если включена выдача супер-админа, на 1 старте пропускаем. Дальше переходим в сообщения, вводим команду /id, получаем свой ID.
Перезапускаем бота и в поле выдачи супер-админа вводим свой id (только перед первым запуском). Все! Вы получили права супер-админа, бот полностью функционирует и можно пользоваться
Логирование в группе
Добавляем бота в группу, выдаем ему админку.
Прописываем /id и получаем id беседы.
Включаем логгер в конфиге,
строчка:
on_logger_group = False
- ставим на True - on_logger_group = True
И в строку:
logger_chat_id = ''
Вставляем id группы. Пример: logger_chat_id = '-758'
Все! Логгер включен. Перезапускаем бота и наслаждаемся жизнью.
Послесловие:
Бота можно и запустить с вашего компьютера под управлением Windows\Linux\Mac. Однако, это делать нежелательно из-за соображений безопасности и скорости ответа.
Хотя никто этого вам не запрещает)