コード例 #1
0
 public CmdData(BaseUser user, BaseChannel channel, BaseServer server, BaseMessage message)
 {
     this.user    = user;
     this.channel = channel;
     this.server  = server;
     this.message = message;
 }
コード例 #2
0
        public DefaultRoleAssigner(BaseUser user, BaseServer server)
        {
            var roleConfig = DefaultRoleConfig.Get(server);

            if (roleConfig != null && roleConfig.DefaultRole != null && roleConfig.DefaultRole != "")
            {
                user.GiveRole(server.FindRoleById(roleConfig.DefaultRole));
            }
        }
コード例 #3
0
 public void OnUserChange(BaseUser oldUser, BaseUser newUser, BaseServer server)
 {
     try
     {
         server.ExecuteHook(typeof(TheGuin2.OnUserChange), oldUser, newUser, server);
     }
     catch (Exception e)
     {
         Console.WriteLine(e.Message);
     }
 }
コード例 #4
0
 public void OnUserUnbanned(BaseUser user, BaseServer server)
 {
     try
     {
         server.ExecuteHook(typeof(TheGuin2.OnUserUnbanned), user, server);
     }
     catch (Exception e)
     {
         Console.WriteLine(e.Message);
     }
 }
コード例 #5
0
        public void OnMessageRecieved(BaseUser user, BaseChannel channel, BaseServer server, BaseMessage message)
        {
            try
            {
                string messageText   = message.GetText();
                string commandPrefix = BotConfig.CommandPrefix;
                if (messageText.Length > commandPrefix.Length)
                {
                    if (messageText.Substring(0, commandPrefix.Length) == commandPrefix)
                    {
                        string commandName = messageText.Substring(commandPrefix.Length);
                        if (commandName.IndexOf(' ') > -1)
                        {
                            commandName = commandName.Substring(0, commandName.IndexOf(' '));
                        }

                        //Globals.GetCommandRegistry().ExecuteCommand(commandName, user, channel, server, message);
                        List <Type> types = server.GetAllValidTypesWithAttribute(typeof(OnCommand));
                        if (types != null)
                        {
                            foreach (var type in types)
                            {
                                bool        valid      = false;
                                OnCommand[] attributes = (OnCommand[])type.GetCustomAttributes(typeof(OnCommand), true);
                                foreach (var attribute in attributes)
                                {
                                    if (attribute.name.ToLower() == commandName.ToLower())
                                    {
                                        valid = true;
                                    }
                                }

                                if (valid)
                                {
                                    BaseCommand.CmdData commandData = new BaseCommand.CmdData(user, channel, server, message);
                                    Activator.CreateInstance(type, commandData);
                                }
                            }
                        }
                    }
                    else
                    {
                        server.ExecuteHook(typeof(TheGuin2.OnMessage), user, server, channel, message);
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
コード例 #6
0
        public override void Execute()
        {
            BaseUser user = null;

            if (argsString != "")
            {
                user = server.FindUser(argsString);
            }

            if (user != null)
            {
                channel.SendMessage(String.Format("*slaps {0}*", user.GetTag()));
            }
            else
            {
                channel.SendMessage("I don't know who to slap...");
            }
        }
コード例 #7
0
 public override void KickUser(BaseUser user)
 {
     ((DiscordUser)user).userInterface.Kick();
 }
コード例 #8
0
 public override void BanUser(BaseUser user)
 {
     serverinterface.Ban(((DiscordUser)user).userInterface, 1);
 }
コード例 #9
0
 public abstract void KickUser(BaseUser user);
コード例 #10
0
 public abstract void BanUser(BaseUser user);