Всех приветствую! Это мой первый мануал и хотелось бы рассказать о хранение логов, в удобном и привычном для всех месте - это мессенджер Telegram. Бот будет написан на языке JavaScript.
Для начала всего, необходимо создать бота. Делать мы это будем через другого телеграмм бота
Переходим по этой ссылке и создаем бота командой /newbot. После команды следуйте инструкции (придумайте имя боту и его логин). На выходе вы получите токен, который нам совсем скоро понадобится. НЕ В КОЕМ СЛУЧАЕ НЕ ПЕРЕДАВАЙТЕ ТОКЕН 3-М ЛИЦАМ!
Для начала самой разработки, откроем любой IDE. Я буду использовать WebStorm, разницы от того какой будете использовать - нету.
Создадим папку и назовем ее rage_logs. Открываем терминал, переходим в эту папку и пишем команду
Данные команды помогут нам инициализировать проект (npm init) и установить несколько зависимостей (dotenv и node-telegram-bot-api)
При инициализации проекта вам нужно будет заполнить некоторые данные в терминале.
Пока устанавливаются зависимости мы создаем два файла. Первый файл будет называться .env и второй index.js
В файлике .env пропишем некоторые данные с которыми будем работать. Тут то как раз нам и понадобится наш токен, который мы получали у бота
Вставляем в данный файл данные - TELEGRAM_BOT_TOKEN=<TOKEN>
<TOKEN> - заменяем на ваш токен
Теперь, открываем второй файл - index.js и первым делом импортируем наши ранее установленные зависимости в проект.
После этого нам нужно создать самого бота из забинденного нами ранее токена в файле .env и прописать ему некоторый конфиг, а именно polling для получения новых обновлений.
Дальше работаем с API node-telegram-bot-api. В данном мануале я не буду разжевывать все ивенты которые присутствуют в данном API, рассмотрим минимальные ресурсы, которые нам понядобятся.
Нам нужно создать переменную, которая будет отвечать за чат, в который будут идти логи. Назовем ее chatId и пропишем функцию, которая при отправке сообщения будет присваивать этой переменной ее ID.
Сейчас нам нужно запустить бота. Пропишем команду
Теперь отправим боту любое сообщение, и наша переменная получит ваш диалог с ботом, в качестве чата в который в дальнейшем будут идти логи.
Основа положена, поздравляю! Не забываем включать бота, при работе с ним
Пропишем ивент, для проверки работоспособности бота.
Данная команда отправит сообщение через бота Telegram при включении сервера (загрузки пакетов).
Теперь создадим/откроем RageMP проект, перейдем по пути server-files\packages\gamemode и перенесем папку rage_logs туда.
(папка может называться не gamemode, а по другому, на всех проектах название индивидуальное)
Через терминал переходим по пути server-files\packages\gamemode/rage_logs и прописываем команду
Теперь если это пустой проект, в папке gamemode создаем еще один файл index.js и пишем там:
Данная команда импортирует бота к нам в проект.
Дело за малым! Запустите бота, а после сервер.
Поздравляю, вы смогли выписать лог о запуске сервера к себе в дискорд через собственного бота. С остальными логами поступаем так-же, прислать туда можно все что угодно.
Если вам понравилась статья/мануал, прошу оценить его.
Если вы найдете какую-либо ошибку, то напишите об этом сразу-же, возможно что-то мог опустить. Спасибо всем за прочтение!
Для начала всего, необходимо создать бота. Делать мы это будем через другого телеграмм бота
Переходим по этой ссылке и создаем бота командой /newbot. После команды следуйте инструкции (придумайте имя боту и его логин). На выходе вы получите токен, который нам совсем скоро понадобится. НЕ В КОЕМ СЛУЧАЕ НЕ ПЕРЕДАВАЙТЕ ТОКЕН 3-М ЛИЦАМ!
Для начала самой разработки, откроем любой IDE. Я буду использовать WebStorm, разницы от того какой будете использовать - нету.
Создадим папку и назовем ее rage_logs. Открываем терминал, переходим в эту папку и пишем команду
Bash:
npm init && npm i dotenv && npm i node-telegram-bot-api
При инициализации проекта вам нужно будет заполнить некоторые данные в терминале.
Пока устанавливаются зависимости мы создаем два файла. Первый файл будет называться .env и второй index.js
В файлике .env пропишем некоторые данные с которыми будем работать. Тут то как раз нам и понадобится наш токен, который мы получали у бота
Вставляем в данный файл данные - TELEGRAM_BOT_TOKEN=<TOKEN>
<TOKEN> - заменяем на ваш токен
Теперь, открываем второй файл - index.js и первым делом импортируем наши ранее установленные зависимости в проект.
JavaScript:
require('dotenv').config(); // получаем доступ к .env файлу
const TelegramBot = require('node-telegram-bot-api'); // зависимость для работы с ботом TG
После этого нам нужно создать самого бота из забинденного нами ранее токена в файле .env и прописать ему некоторый конфиг, а именно polling для получения новых обновлений.
JavaScript:
const bot = new TelegramBot(process.env.TELEGRAM_BOT_TOKEN, {polling: true});
Обращаемся к файлу .env через process.env и забираем от туда наш токен.
Дальше работаем с API node-telegram-bot-api. В данном мануале я не буду разжевывать все ивенты которые присутствуют в данном API, рассмотрим минимальные ресурсы, которые нам понядобятся.
Нам нужно создать переменную, которая будет отвечать за чат, в который будут идти логи. Назовем ее chatId и пропишем функцию, которая при отправке сообщения будет присваивать этой переменной ее ID.
JavaScript:
let chatId;
bot.on('message', (msg) => {
chatId = msg.chat.id
})
Сейчас нам нужно запустить бота. Пропишем команду
Bash:
node index.js
Теперь отправим боту любое сообщение, и наша переменная получит ваш диалог с ботом, в качестве чата в который в дальнейшем будут идти логи.
Если вас не устраивает динамический chatId, то возьмем статик и присвоим его переменной вручную, чтобы логи шли только к вам. (в будущем, если понадобится, обновлю мануал и расскажу как сделать так, чтобы можно было добавлять разные chatId, для отправки логов сразу в несколько чатов)
Приступим! Сразу создадим переменную chatId и пропишем функцию которая будет писать нам в чат с ботом наш chatId.
После отправки любого сообщения, к вам в чат придет ваш chatId с данным ботом. Теперь присвоим его к переменной и в результате получаем это:
Можно удалить функцию которая отправляет вам в чат ваш ID.
Приступим! Сразу создадим переменную chatId и пропишем функцию которая будет писать нам в чат с ботом наш chatId.
JavaScript:
let chatId;
bot.on('message', (msg) => {
bot.sendMessage(
chatId,
chatId,
)
})
После отправки любого сообщения, к вам в чат придет ваш chatId с данным ботом. Теперь присвоим его к переменной и в результате получаем это:
JavaScript:
let chatId = 2135154329;
bot.on('message', (msg) => {
chatId = msg.chat.id
bot.sendMessage(
chatId,
chatId,
)
})
Можно удалить функцию которая отправляет вам в чат ваш ID.
Основа положена, поздравляю! Не забываем включать бота, при работе с ним
Пропишем ивент, для проверки работоспособности бота.
JavaScript:
mp.events.add('packagesLoaded', () => {
bot.sendMessage(
chatId,
`Сервер был запущен!`,
)
})
Данная команда отправит сообщение через бота Telegram при включении сервера (загрузки пакетов).
Теперь создадим/откроем RageMP проект, перейдем по пути server-files\packages\gamemode и перенесем папку rage_logs туда.
(папка может называться не gamemode, а по другому, на всех проектах название индивидуальное)
Советую удалить node_modules перед переносом. Если удалили данную папку, то после переноса через терминал переходим по пути server-files\packages\gamemode/rage_logs и прописываем команду
Bash:
npm install
Через терминал переходим по пути server-files\packages\gamemode/rage_logs и прописываем команду
Bash:
node index.js
Теперь если это пустой проект, в папке gamemode создаем еще один файл index.js и пишем там:
JavaScript:
require('./rage_logs/index')
Данная команда импортирует бота к нам в проект.
Дело за малым! Запустите бота, а после сервер.
Поздравляю, вы смогли выписать лог о запуске сервера к себе в дискорд через собственного бота. С остальными логами поступаем так-же, прислать туда можно все что угодно.
Если вам понравилась статья/мануал, прошу оценить его.
Если вы найдете какую-либо ошибку, то напишите об этом сразу-же, возможно что-то мог опустить. Спасибо всем за прочтение!
Зайдите в терминал где у вас запущен бот и нажмите сочетание клавиш CTRL + C 1 - 2 раза.
JavaScript:
require('dotenv').config();
const TelegramBot = require('node-telegram-bot-api');
const bot = new TelegramBot(process.env.TELEGRAM_BOT_TOKEN, {polling: true});
let chatId = 12343243212;
mp.events.add('packagesLoaded', () => {
bot.sendMessage(
chatId,
`Сервер был запущен!`,
)
})