Библиотека для связки вашего сервера RAGE:MP с сервером Discord (с помощью бота).
Возможности библиотеки:
Исходный код - https://github.com/JeremyEspresso/RAGEMP-DiscordIntegration
Возможности библиотеки:
- Отправка сообщений в Discord со своего RAGE: MP сервера.
- Отправка сообщений на сервер RAGE: MP со своего сервера Discord.
- Возможность прослушивание ботом определенного канала для дальнейшей обработки сообщений
- Отображение статуса бота
- Добавьте RAGEMP-DiscordIntegration.dll в качестве ссылки на ваш проект в Visual Studio.
(Как это сделать - https://docs.microsoft.com/ru-ru/visualstudio/ide/managing-references-in-a-project?view=vs-2019) - Обязательно поместите три предоставленных Discord.Net.xx.dll в папку runtime вашего сервера RAGE:MP.
- Готово. Наслаждайтесь.
- Создайте новое приложение на Discord Developers.
- Также создайте бота.
- Пригласите бота на Ваш сервер Discord.
- Используйте токен вашего бота для инициализации бота, как показано в примере ниже.
- Зарегистрируйте / удалите каналы, в которые ваш бот рассылает сообщения всем игрокам.
C#:
using GTANetworkAPI;
using System;
using System.Collections.Generic;
using System.Text;
public class Yes : Script
{
public Yes()
{
NAPI.Util.ConsoleOutput("Loaded: yes");
}
[ServerEvent(Event.ResourceStart)]
public void OnResourceStart()
{
// Подключение к дискорду
Integration.DiscordIntegration.SetUpBotInstance("TOKEN_HERE", "RAGE:MP", Discord.ActivityType.Playing, Discord.UserStatus.DoNotDisturb);
}
[ServerEvent(Event.ChatMessage)]
public async void OnChatMessage(Player player, string strMessage)
{
// Обработка и отправка сообщений в дискорд при написании в чат сервера RAGE:MP
string strFormatted = $"[RAGE:MP] {player.Name}: {strMessage}";
await Integration.DiscordIntegration.SendMessage(3897429387492374, strFormatted, true).ConfigureAwait(true);
}
[Command("registerchannel")]
public void RegisterDiscord(Player player, ulong discordChannelID)
{
bool bSuccess = Integration.DiscordIntegration.RegisterChannelForListenting(discordChannelID);
player.SendChatMessage(bSuccess ? "Success" : "No Success");
}
[Command("removechannel")]
public void RemoveDiscordChannel(Player player, ulong discordChannelID)
{
bool bSuccess = Integration.DiscordIntegration.RemoveChannelFromListening(discordChannelID);
player.SendChatMessage(bSuccess ? "Success" : "No Success");
}
[Command("botstatus")]
public async void UpdateBotStatusCommand(Player player, string gameName, Discord.ActivityType eActivityType, Discord.UserStatus eUserStatus)
{
await Integration.DiscordIntegration.UpdateBotStatus(gameName, eActivityType, eUserStatus).ConfigureAwait(true);
}
}
Исходный код - https://github.com/JeremyEspresso/RAGEMP-DiscordIntegration