Esempio n. 1
0
        private async void NetworkHandler_DiscordMessageReceived(object sender, DiscordMessageReceivedEventArgs e)
        {
            if (!string.IsNullOrEmpty(e.Message.UniqueID))
            {
                TrackedMessages.Add(e.Message);
            }

            if (e.Message.Author.IsBot)
            {
                return;
            }

            if (!string.IsNullOrEmpty(e.Message.Content))
            {
                InteractiveUser iUser = guildManagementHandler.Users.Find(x => x.ChannelID == e.Channel.ID && x.UserID == e.Message.Author.ID);

                //Check if the message is a response to the interactive message
                if (iUser != null)
                {
                    await guildManagementHandler.HandleInteraction(e.Message, iUser, this);
                }
                else
                {
                    string prefix = await Program.Entry.DataBases.GuildDB.GetCustomPrefix((e.Channel as SocketGuildChannel).Guild.ID, PREFIX);

                    //Trigger command response
                    if (e.Message.Content.Substring(0, prefix.Length) == prefix)
                    {
                        string cmd = e.Message.Content.Split(' ')[0].Remove(0, prefix.Length);

                        string input = "";

                        if (e.Message.Content.Length > cmd.Length + 1)
                        {
                            input = e.Message.Content.Substring(cmd.Length + 2, e.Message.Content.Length - cmd.Length - 2);
                        }

                        try
                        {
                            bool success = await cService.ExecuteAsync(e.Message.Content.Split(' ')[0].Remove(0, prefix.Length), input, e.Message);
                        }
                        catch (Exception ee)
                        {
                            Console.WriteLine(ee);
                        }
                    }
                }
            }

            Messages.Remove(e.Message);
        }
Esempio n. 2
0
 protected virtual void OnDiscordMessageReceived(DiscordMessageReceivedEventArgs e) => DiscordMessageReceived?.Invoke(this, e);