ulvis.paste.net

Paste Search Dynamic
Recent pastes
ElementiaBot
  1. using system;
  2. using system.Collections.Generic;
  3. using system.Linq;
  4. using system.Text;
  5. using system.Threading.Tasks;
  6.  
  7. using Discord;
  8. using Discord.WebSocket;
  9.  
  10. namespace ElementiaBot
  11. {
  12.     public class Core
  13.     {
  14.         public static List<Common.Command> Commands = new List<Common.Command>();
  15.  
  16.         public static DiscordSocketClient Client;
  17.  
  18.         public async Task MainAsync()
  19.         {
  20.             Commands.Add(new Commands.Test());
  21.             Commands.Add(new Commands.Generic.Giveaway());
  22.             Commands.Add(new Commands.Generic.Action());
  23.  
  24.             Client = new DiscordSocketClient();
  25.  
  26.             Client.Log += Log;
  27.  
  28.             Client.MessageReceived += MessageReceived;
  29.  
  30.             //Elementia NDc3NTQwODg3MTYxOTk1MjY1.Dk9u3Q.K8LKVoTDLEQ4vMJjhi9y6XyZNqU
  31.             string token = "token id";
  32.  
  33.             await Client.LoginAsync(TokenType.Bot, token);
  34.  
  35.             Client.Connected += () => {
  36.                 Console.WriteLine(Client.CurrentUser.Id);
  37.                 return null;
  38.             };
  39.  
  40.             await Client.StartAsync();
  41.  
  42.             await Task.Delay(-1);
  43.         }
  44.  
  45.         private Task Log(LogMessage Log)
  46.         {
  47.             Console.WriteLine(Log.ToString());
  48.             return Task.CompletedTask;
  49.         }
  50.  
  51.         private async Task MessageReceived(SocketMessage message)
  52.         {
  53.             string RawMessage = message.Content;
  54.  
  55.             if(RawMessage.StartsWith("!"))
  56.             {
  57.                 RawMessage = RawMessage.TrimStart('!');
  58.  
  59.                 foreach(var command in Commands)
  60.                     if(command.CallName == RawMessage.Split(' ')[0])
  61.                     {
  62.                         await command.Run(message);
  63.                         break;
  64.                     }
  65.             }
  66.         }
  67.     }
  68. }
Parsed in 0.018 seconds