Advertisement
xladomaz

Untitled

Jan 18th, 2020
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.26 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Threading.Tasks;
  5. using DSharpPlus;
  6. using DSharpPlus.Entities;
  7.  
  8. namespace DiscordTest
  9. {
  10.     class Program
  11.     {
  12.         static DiscordClient discord;
  13.         private static List<DiscordChannel> private_channels = new List<DiscordChannel>();
  14.         static void Main(string[] args)
  15.         {
  16.             MainTask(args).ConfigureAwait(false).GetAwaiter().GetResult();
  17.         }
  18.  
  19.         static async Task MainTask(string[] args)
  20.         {
  21.             discord = new DiscordClient(new DiscordConfiguration
  22.             {
  23.                 Token = "",
  24.                 TokenType = TokenType.Bot,
  25.                 UseInternalLogHandler = true,
  26.                 LogLevel = LogLevel.Debug
  27.             }); ;
  28.             discord.MessageCreated += Discord_MessageCreated;
  29.             discord.VoiceStateUpdated += Discord_VoiceStateUpdated;
  30.             await discord.ConnectAsync();
  31.             privateChechek();
  32.             await Task.Delay(-1);
  33.         }
  34.  
  35.         public static async void privateChechek()
  36.         {
  37.             while (true)
  38.             {
  39.                 foreach(DiscordChannel channel in private_channels)
  40.                 {
  41.                 }
  42.                 await Task.Delay(10000);
  43.             }
  44.         }
  45.  
  46.         private static async Task Discord_VoiceStateUpdated(DSharpPlus.EventArgs.VoiceStateUpdateEventArgs e)
  47.         {
  48.             if (e.Channel != null)
  49.             {
  50.                 if (e.Channel.Id == 622753007871852596)
  51.                 {
  52.                     DiscordChannel parent = e.Guild.GetChannel(622752938867163138);
  53.                     Task<DiscordChannel> new_channel = e.Guild.CreateChannelAsync("Private", ChannelType.Voice, parent);
  54.                     private_channels.Add(new_channel.Result);
  55.                     await new_channel.Result.PlaceMemberAsync((DiscordMember)e.User);
  56.                 }
  57.                 Console.WriteLine(e.User.Username + " connected to " + e.Channel.Name);
  58.             }
  59.         }
  60.  
  61.         private static async Task Discord_MessageCreated(DSharpPlus.EventArgs.MessageCreateEventArgs e)
  62.         {
  63.             string message = e.Message.Content;
  64.             if(!e.Author.IsBot)
  65.             {
  66.                 if(e.Message.Content.StartsWith('!'))
  67.                 {
  68.                     string[] command = e.Message.Content.Remove(0, 1).Split(' ');
  69.                     //Console.WriteLine("Your command=" + command);
  70.                     switch(command[0])
  71.                     {
  72.                         case "профиль":
  73.                             //Console.WriteLine("Count users=" + e.Message.MentionedUsers.Count);
  74.                             if (e.Message.MentionedUsers.Count > 0)
  75.                             {
  76.                                 DiscordUser user = e.Message.MentionedUsers.ElementAt(0);
  77.                                 await e.Message.RespondAsync("Профиль пользователя " + user.Mention);
  78.                             }else
  79.                             {
  80.                                 await e.Message.RespondAsync("Ваш профиль 321");
  81.                             }
  82.                             break;
  83.                     }
  84.                 }
  85.             }
  86.         }
  87.     }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement