• Из-за обновления GTA 5 (был добавлен новый патч) может временно не работать вход в RAGE Multiplayer.

    ERROR: Your game version is not supported by RAGE Multiplayer.

    Данная ошибка говорит о том, что GTA V обновилась до новой версии (GTA Online тоже). Вам необходимо обновить саму игру в главном меню вашего приложения (Steam / Epic Games / Rockstar Games).
    Если после этого RAGE:MP все равно не работает - вам нужно дождаться выхода патча для самого мультиплеера (обычно это занимает от нескольких часов до нескольких дней).

    Новости и апдейты Rockstar Games - https://www.rockstargames.com/ru/newswire/
    Статус всех служб для Rockstar Games Launcher и поддерживаемых игр: https://support.rockstargames.com/ru/servicestatus


    Grand Theft Auto 5 (+ GTA Online) последний раз были обновлены:

Мануал [JS + Python] [Server-side] Выводим онлайн сервера в Discord

Делаем мануал по выводу количества участников Discord-сервера в название канала?

  • Да

    Голосов: 7 87.5%
  • Нет

    Голосов: 1 12.5%

  • Всего проголосовало
    8

blago

Начинающий специалист
Автор темы
9 Сен 2021
42
11
50
Способ актуален для серверов, работающих 24/7 (держащихся на VDS, например).

Всем привет! В данном мануале Вы узнаете, как можно вывести онлайн своего сервера в название канала в Discord.

1707999008996.png


Для корректной работы бота у Вас должен быть установить Python.

Ссылка для скачивания: https://www.python.org/downloads/

Для начала необходимо создать Discord бота на портале разработчиков Discord: https://discord.com/developers.
Переходим по ссылке, авторизовываемся в свой аккаунт Discord, если ранее Вы этого не делали, и идём дальше.

Итак, перед нами главная страница портала.
1707997311786.png
Нажимаем кнопку "New Application", вводим имя приложения, соглашаемся с Developer Terms of Service и Developer Policy, и нажимаем "Create".

1707997505673.png


Бот успешно создан.
1707997614109.png

Переходим во вкладку Bot и нажимаем кнопку "Reset Token", копируем токен (ТОКЕН ЯВЛЯЕТСЯ СЕКРЕТНЫМ. НЕ РЕКОМЕНДУЕТСЯ ОТПРАВЛЯТЬ ЕГО КОМУ-ЛИБО.), листаем ниже, и в главе Privileged Gateway Intents переключаем все тумблеры.
1707997845935.png

Далее открываем папку Вашего сервера в Visual Studio Code, переходим в packages, создаём файл discordOnline.js, и вписываем в него следующий код:

JavaScript:
const http = require('http');

const server = http.createServer(function(request, response) {
  response.writeHead(200, {"Content-Type": "text/html"});
  response.write(`${mp.players.length}/${mp.players.size}`);
  response.end();
});

server.listen(8080);
console.log('\nМониторинг запущен. Онлайн передан в Discord.');

Переходим в index.js и пишем в него:
JavaScript:
require('./discordOnline.js')

Перезапускаем сервер и переходим по ссылке http://localhost:8080.
Проверяем, запустился ли у нас http-сервер. На странице должен быть написан онлайн Вашего сервера. (0/1000, например)

Если сервер запущен, идём дальше.

На рабочем столе (местоположение как пример) создаём папку onlineBot и открываем её в Visual Studio Code.
После открытия папки в VSC нажимаем Ctrl + Ё (терминал) и вводим туда следующие строки:
Python:
pip install disnake
pip install requests
Проверяем, чтобы не было никаких ошибок, и идём дальше.

Создаём в только что открытой папке файл main.py и вставляет в него следующий код:

Python:
import disnake
import requests
from disnake.ext import tasks

intents = disnake.Intents.all()
bot = commands.Bot(command_prefix='.', intents=intents)

@tasks.loop(seconds=120)
async def update_channel_name():
    
    guild_id = ID_ВАШЕГО_DISCORD_СЕРВЕРА
    channel_id = ID_КАНАЛА_ДЛЯ_ОТОБРАЖЕНИЯ_ОНЛАЙНА
    
    # id вводить без каких-либо кавычек, просто цифры.

    guild = bot.get_guild(guild_id)
    channel = guild.get_channel(channel_id)
    url = "http://localhost:8080/"
    response = requests.get(url)
    if response.status_code == 200:
        source_code = response.text

    if guild and channel:
        await channel.edit(name=f'Онлайн сервера: {source_code}')
        
@bot.event
async def on_connect():
    update_channel_name.start()
    

bot.run('ТОКЕН_ВАШЕГО_БОТА')

Обязательно поменяйте в коде ID Вашего Discord сервера и ID канала который будет использоваться как "мониторинг" онлайна на Ваши значения.

После того, как мы всё сделали - запускаем наш файл командой
Python:
python main.py
и проверяем канал.

Как видим, всё работает.
1707998690620.png

1707998777154.png
 

Вложения

  • 1707998997567.png
    1707998997567.png
    14.7 KB · Просмотры: 33
  • Like
Реакции: Deja-vu

blago

Начинающий специалист
Автор темы
9 Сен 2021
42
11
50
При возникновении проблем/ошибок можете обращаться в Discord — rizza.c17h21no4
ID: 872752103242743809
 

enotit

Гуру
13 Ноя 2020
535
231
107
Мануал бомба, но советую вынести данный скрипт из сервера. И чекать json мастерлиста, дабы не нагружать сервер. И тогда только на питоне получиться)
 
  • Like
Реакции: Deja-vu