Beispiel #1
0
        private async Task MessageReceived(SocketMessage message)
        {
            SocketGuild guild = null;

            if (!message.Channel.GetType().Equals(ChannelType.DM))
            {
                guild = ((SocketGuildChannel)message.Channel).Guild;
            }

            /*if (message.Content == "%ping")
             * {
             *  await message.Channel.SendMessageAsync("Pong!");
             * }
             * /*if (message.Content.Contains("cabbage"))
             *  await message.Channel.SendMessageAsync("https://imgur.com/a/BKPNq");
             * if (message.Content.Contains("parrot") && message.Author.Username != "CarrotBot")
             *  await message.Channel.SendMessageAsync("<:thumbsupparrot:483814515138363392:>");*/
            if (!client.GetDMChannelsAsync().Result.ToList().Contains(message.Channel as IDMChannel))
            {
                if ((message.Author.Username != "CarrotBot" && !isBeta) || (message.Author.Username != "CarrotBot Beta" || isBeta))
                {
                    try
                    {
                        if ((message.Channel as IGuildChannel).Guild.GetUsersAsync().Result.Count < 500)
                        {
                            Logger.Lawg($"{DateTime.Now.ToString("HH:mm:ss")} Received Message in #" + message.Channel.Name + $"(Id {message.Channel.Id}) in server {guild.Name}(Id {guild.Id}) from user " + message.Author.Username + ". Message reads: " + message.Content /* + $" and has attachments: {message.Attachments.ToString()}"*/);
                        }
                        File.AppendAllText($@"{Environment.CurrentDirectory}/Logs/guild_{(message.Channel as IGuildChannel).GuildId}.log", $@"{DateTime.Now.ToString("DD_MM_HH:MM:SS")}    {message.Author.Username}#{message.Author.Discriminator}({message.Author.Id}): {message.Content}");
                    }
                    catch
                    {
                        Logger.Lawg($"Received Direct Message from {message.Author.Username}${message.Author.Discriminator}. Message Reads: {message.Content}");
                    }
                }
                else
                {
                    if (message.Channel.Id != 490551836323872779)
                    {
                        Logger.Lawg($"{DateTime.Now.ToString("HH:mm:ss")} Sent Message in #" + message.Channel.Name + $" in server {guild.Name}(Id {guild.Id}). Message reads: " + message.Content);
                    }
                }
            }
            else
            {
                if (message.Author.Username != "CarrotBot")
                {
                    Logger.Lawg($"{DateTime.Now.ToString("HH:mm:ss")} Received Direct Message from {message.Author.Username}#{message.Author.Discriminator}. Message reads: " + message.Content /* + $" and has attachments: {message.Attachments.ToString()}"*/);
                }
                else
                {
                    if (message.Channel.Id != 490551836323872779)
                    {
                        Logger.Lawg($"{DateTime.Now.ToString("HH:mm:ss")} Sent Direct Message to user {(message.Channel as IDMChannel).Recipient.Username}#{(message.Channel as IDMChannel).Recipient.Discriminator}. Message reads: " + message.Content);
                    }
                }
            }
            if (message.Content == "Am I right lads or am I right?" && message.Author.Id == 366298290377195522)
            {
                await message.Channel.SendMessageAsync($"<@{message.Author.Id}> You are right lad!");
            }
            if (message.Content == "1+1")
            {
                await message.Channel.SendMessageAsync($"1 + 1 = Carrot. It's a well-known(okay, maybe not :P) fact.");
            }
            if (message.Content == "C# or Java?")
            {
                await message.Channel.SendMessageAsync($@"C#, my literal lifeblood\*, is far superior to that pathetic Java.\n\*I'm a bot programmed in C#.");
            }
            if (message.Content == "Lua")
            {
                await message.Channel.SendMessageAsync("No! Lua is as bad as that pathetic and demented Java. Use C# instead. For everything. Ever.");
            }
            if (AIMode)
            {
                await Messages(message.Channel);
            }
            int argPos = 0;

            if (message.Author.Id != 389513870835974146 && Link && !message.Content.StartsWith("-ignore"))
            {
                Thread.Sleep(1);
                Conversation.CarryOutConversation(message as IUserMessage);
            }
            if (message.Author.Id != 389513870835974146 && ControlRoomLink && !message.Content.StartsWith("-ignore") && message.Channel.Id == ControlRoomLinkChannel)
            {
                Thread.Sleep(1);
                await(client.GetChannel(502841234285527041) as SocketTextChannel).SendMessageAsync($"{message.Author.Username}#{message.Author.Discriminator}: {message.Content}");
            }
            if (message.Author.Id != 389513870835974146 && ControlRoomLink && !(message.Content.StartsWith("-ignore") || message.Content.StartsWith("%channel linktocontrolroom")) && message.Channel.Id == 502841234285527041)
            {
                Thread.Sleep(1);
                await(client.GetChannel(ControlRoomLinkChannel) as SocketTextChannel).SendMessageAsync($"{message.Content}");
            }
            if (message.Content.Contains("<@389513870835974146>") || message.Content.Contains("<@!389513870835974146>"))
            {
                var pingSock = client.GetGuild(388339196978266114).Emotes.FirstOrDefault(e => e.Id == 494289252788600833);
                await(message as IUserMessage).AddReactionAsync(pingSock);
            }
            if (message.Channel.Id == 495698925513211906)
            {
                SocketUser Mrcarrot = client.GetUser(366298290377195522);
                await Mrcarrot.SendMessageAsync($"KSS Main dev update: {message.Author.Username}: {message.Content}");

                Thread.Sleep(2);
                if (message.Attachments.Count > 0)
                {
                    await Mrcarrot.SendMessageAsync($"  Attachment: {message.Attachments.First().Url}");
                }
            }
        }