// Emoji Test public static async Task EmojiList() { EmojiList emojis = await Client.EmojiListAsync(); Console.WriteLine("Emojis: "); foreach (EmojiDef emoji in emojis.EmojiDefinitions) { Console.WriteLine("-------------------------------------------------------------------------------"); Console.WriteLine("Emoji ID: {0}", emoji.ID.ToString()); Console.WriteLine("Emoji slug: {0}", emoji.Slug); Console.WriteLine("Emoji image url: {0}", emoji.ImageUrlMedium); Console.WriteLine("-------------------------------------------------------------------------------"); } Console.WriteLine("\n\n\n"); }
private int ParseQuadruple(byte[] utf32, int index, StringBuilder sb, string last = null, int cnt = 0) { if (cnt == _tokenMax) { return(-1); } if (index == utf32.Length) { return(-1); } var quad = new byte[4]; Array.Copy(utf32, index, quad, 0, 4); var strHex = Convert(quad); var suggestion = strHex; if (last != null) { suggestion = last + SEPERATOR + suggestion; } int result = ParseQuadruple(utf32, index + 4, sb, suggestion, cnt + 1); if (result == -1) { if (EmojiList.Contains(suggestion)) { sb.Append(FormatFunction(suggestion)); return(index + 4); } else { if (cnt == 0) { var replacement = Encoding.UTF32.GetString(utf32, index, 4); // See if it is an SoftBank encoded character var alternative = SoftBankConverter.GetNewUnicode(suggestion); if (alternative != null) { if (EmojiList.Contains(alternative)) { replacement = FormatFunction(alternative); } } sb.Append(replacement); if (Debug != null) { int dbgVal = BitConverter.ToInt32(quad, 0); Debug.WriteLine($"{dbgVal} {alternative}"); } return(index + 4); } } return(-1); } else { return(result); } }
private Task MessageHandler(SocketMessage message) { string firstWord = message.Content.Split()[0]; bool pong = message.Author.Id == _client.CurrentUser.Id && firstWord == "Pinging..."; if (pong || (!message.Author.IsBot && !message.Author.IsWebhook)) { Recieved.Message = message; } else { return(Task.CompletedTask); } try { // Events BotMention.DoEvent().Wait(); Emojify.DoEvent().Wait(); Xp.DoEvent().Wait(); if (pong) { Ping.DoCommand(true).Wait(); } if (!message.Content.StartsWith(BaseConfig.GetConfig().Prefix) || message.Author.IsBot) { return(Task.CompletedTask); } string command = firstWord.Substring(1, firstWord.Length - 1).ToLower(); // Commands // Dev if (Evaluate.Aliases.Contains(command) && HasPerm(Evaluate.AllowedRoles)) { Evaluate.DoCommand().Wait(); } if (Ping.Aliases.Contains(command) && BotChannel()) { Ping.DoCommand(false).Wait(); } if (Restart.Aliases.Contains(command) && BotChannel() && HasPerm(Restart.AllowedRoles)) { Restart.DoCommand().Wait(); } if (Test.Aliases.Contains(command) && BotChannel() && HasPerm(Test.AllowedRoles)) { Test.DoCommand().Wait(); } // Fun if (Minesweeper.Aliases.Contains(command) && BotChannel()) { Minesweeper.DoCommand().Wait(); } if (MathEval.Aliases.Contains(command) && BotChannel()) { MathEval.DoCommand().Wait(); } // Info if (Commands.Commands.Aliases.Contains(command) && BotChannel()) { Commands.Commands.DoCommand().Wait(); } if (EmojiList.Aliases.Contains(command) && BotChannel()) { EmojiList.DoCommand().Wait(); } if (Leaderboard.Aliases.Contains(command) && BotChannel()) { Leaderboard.DoCommand().Wait(); } if (UserInfo.Aliases.Contains(command) && BotChannel()) { UserInfo.DoCommand().Wait(); } // Util if (AnswerRequest.Aliases.Contains(command)) { AnswerRequest.DoCommand().Wait(); } if (PingRequest.Aliases.Contains(command)) { PingRequest.DoCommand().Wait(); } if (Store.Aliases.Contains(command) && BotChannel()) { Store.DoCommand().Wait(); } } catch (Exception e) { foreach (var i in BaseConfig.GetConfig().Channels.BotTerminal) { ((IMessageChannel)_client.GetChannel(i)).SendMessageAsync($"```{e}```"); } } return(Task.CompletedTask); }