Как заставить себя присоединиться к указанному c каналу разногласия, когда кто-то определит c? - PullRequest
0 голосов
/ 19 апреля 2020

Я только начал входить в c# и хотел сделать что-то простое. Когда определенный пользователь c присоединяется к любому каналу на моем сервере, я автоматически присоединяюсь к этому каналу, когда он присутствует.

Я думал об использовании указанных c идентификаторов сервера, канала и пользователя вместе с моим токеном, поэтому, как только он увидит, что указанный c идентификатор пользователя автоматически присоединится к этому каналу. Хотя я не уверен, как установить определенные идентификаторы пользователя в коде, справка была бы полезна:)

Вот код, который я сделал до сих пор, чтобы поместить маркер пользователя на место:

private static void Main(string[] args)
{
  Console.Title = "Auto Join Bot lol";
  DiscordSocketClient discordSocketClient = new DiscordSocketClient();
  string str;
  try
  {
    str = File.ReadAllText("token.txt");
  }
  catch
  {
    Console.WriteLine("Please, enter your token:");
    str = Console.ReadLine();
  }
  while (true)
  {
    try
    {
      discordSocketClient.Login(str);
      Console.WriteLine("Successfully logged in!", Color.LightGreen);
      File.Delete("token.txt");
      File.AppendAllText("token.txt", str);
      break;
    }
    catch
    {
      Console.WriteLine("[ERROR] Your token might be wrong.", Color.IndianRed);
      Console.WriteLine("Please, enter your token:");
      str = Console.ReadLine();
      File.Delete("token.txt");
      File.AppendAllText("token.txt", str);
    }

1 Ответ

0 голосов
/ 20 апреля 2020

Я сделал несколько ботов самостоятельно ... но если я правильно понимаю ваш вопрос. Что вы ищете, так это то, что бот подталкивает пользователя в канал на определенном событии (например, когда кто-то присоединяется). Я не думаю, что это возможно.

Можно заставить бота присоединиться к каналу, если это то, что вы ищете? Я думаю, что вам стоит поучаствовать в нюгет-пакете DSharpPlus https://github.com/DSharpPlus/DSharpPlus. Это пакет nuget для упрощения взаимодействия с API Discord.

Например, взаимодействие с сообщениями так же просто, как

_discord.MessageCreated += async e => { await _commandList.Run(e); };

(сообщение, созданное как событие, на которое вы также можете подписаться, с MessageCreateEventArgs. MessageCreateEventArgs имеет метод .Response (string).

Как видите, это очень просто.

Вот документация, позволяющая боту присоединиться к голосовому каналу для DSharpPlus. https://dsharpplus.emzi0767.com/api/DSharpPlus.VoiceNext.VoiceNextClient.html

Надеюсь, это поможет вам в этом!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...