Пример #1
0
 private void OnChatCommandReceived(object?sender, TwitchLib.Client.Events.OnChatCommandReceivedArgs e)
 {
     if (e.Command.CommandText.Equals("match"))
     {
         // heroesProfile.GetMatchLink()
     }
 }
Пример #2
0
        private void TwitchClient_OnChatCommandReceived(object sender, TwitchLib.Client.Events.OnChatCommandReceivedArgs e)
        {
            string      cmdText     = e.Command.CommandText.ToLower();
            string      args        = e.Command.ArgumentsAsString;
            ChatMessage chatMessage = e.Command.ChatMessage;

            HandleCommand(cmdText, args, chatMessage);
        }
Пример #3
0
 private void _TwitchClient_OnChatCommandReceived(object sender, TwitchLib.Client.Events.OnChatCommandReceivedArgs e)
 {
     if (!e.Command.CommandIdentifier.Equals('!'))
     {
         return;
     }
     ValidarComando(Tuple.Create(e.Command.CommandText, e.Command.ChatMessage.Message, e.Command.ChatMessage.Username));
 }
Пример #4
0
 public CommandArgs(TwitchLib.Client.Events.OnChatCommandReceivedArgs args)
 {
     Arguments         = args.Command.ArgumentsAsList;
     ArgumentsAsString = args.Command.ArgumentsAsString;
     Caller            = args.Command.ChatMessage.Username;
     CallerID          = args.Command.ChatMessage.UserId;
     isModerator       = args.Command.ChatMessage.IsModerator;
     isBroadcaster     = args.Command.ChatMessage.IsBroadcaster;
     isOwner           = args.Command.ChatMessage.Username.ToLower() == "iggnaccy";
 }
Пример #5
0
        public async Task Invoke(TwitchLib.Client.Events.OnChatCommandReceivedArgs args)
        {
            CommandArgs cArgs = new CommandArgs(args);

            if (DateTime.Now < lastUsed.AddSeconds(cooldown))
            {
                if (!(cArgs.isBroadcaster || cArgs.isModerator || cArgs.isOwner))
                {
                    return;
                }
            }
            cooldown = await effect.Invoke(cArgs);

            lastUsed = DateTime.Now;
        }
Пример #6
0
        private void OnChatCommandReceived(object sender, TwitchLib.Client.Events.OnChatCommandReceivedArgs e)
        {
            switch (e.Command.CommandText)
            {
            case "hello":
                _client.SendMessage(e.Command.ChatMessage.Channel, $"Hello {e.Command.ChatMessage.DisplayName}!");
                break;

            case "about":
                _client.SendMessage(e.Command.ChatMessage.Channel, "I am a Twitch bot running on TwitchLib!");
                break;

            default:
                _client.SendMessage(e.Command.ChatMessage.Channel, $"Unknown chat command: {e.Command.CommandIdentifier}{e.Command.CommandText}");
                break;
            }
        }
Пример #7
0
 private void ChatCommandHandler(object sender, TwitchLib.Client.Events.OnChatCommandReceivedArgs e)
 {
     try
     {
         if (chatCommands.TryGetValue(e.Command.CommandText, out Command c))
         {
             c.Invoke(e).GetAwaiter().GetResult();
             if (e.Command.ChatMessage.IsModerator || e.Command.ChatMessage.IsBroadcaster || e.Command.ChatMessage.Username.ToLower() == "iggnaccy")
             {
                 bot.Log($"{e.Command.ChatMessage.Username} used {e.Command.CommandText} command with arguments {e.Command.ArgumentsAsString}");
             }
         }
     }
     catch (Exception ex)
     {
         bot.LogError("Command - ChatCommandHandler", $"Error occured during {e.Command.CommandText} command: {ex.Message}");
     }
 }
Пример #8
0
 private void Client_OnChatCommandReceived(object sender, TwitchLib.Client.Events.OnChatCommandReceivedArgs e)
 {
     ParseCommand(e.Command);
 }
Пример #9
0
 private void _client_OnChatCommandReceived(object sender, TwitchLib.Client.Events.OnChatCommandReceivedArgs e)
 {
     var context = _services.GetRequiredService<IHubContext<CommandHub>>();
     context.Clients.All.SendAsync("Play", e.Command.CommandText);
 }
Пример #10
0
        private void OnChatCommandReceived(object sender, TwitchLib.Client.Events.OnChatCommandReceivedArgs e)
        {
            string        username = e.Command.ChatMessage.Username;
            List <string> args     = e.Command.ArgumentsAsList;
            string        response = "";

            switch (e.Command.CommandText.ToLower())
            {
            case "register":
                response = manager.TryRegister(username, args[0]);
                break;

            case "release":
                response = manager.Release(username);
                break;

            case "help":
                response = "Go here for commands: https://github.com/THE-GREAT-OVERLORD-LORD-OF-ALL-CHEESE/TwitchFliesOPFOR";
                break;

            case "n":
            case "north":
                response = manager.Command(username, TwitchPilotBase.PilotCommand.North, args);
                break;

            case "e":
            case "east":
                response = manager.Command(username, TwitchPilotBase.PilotCommand.East, args);
                break;

            case "s":
            case "south":
                response = manager.Command(username, TwitchPilotBase.PilotCommand.South, args);
                break;

            case "w":
            case "west":
                response = manager.Command(username, TwitchPilotBase.PilotCommand.West, args);
                break;

            case "stop":
                response = manager.Command(username, TwitchPilotBase.PilotCommand.Stop, args);
                break;

            case "orbit":
                response = manager.Command(username, TwitchPilotBase.PilotCommand.Orbit, args);
                break;

            case "form":
            case "formup":
            case "formation":
            case "follow":
                response = manager.Command(username, TwitchPilotBase.PilotCommand.Formation, args);
                break;

            case "scramble":
            case "launchall":
                response = manager.Command(username, TwitchPilotBase.PilotCommand.LaunchAll, args);
                break;

            case "engage":
                response = manager.Command(username, TwitchPilotBase.PilotCommand.Engage, args);
                break;

            case "disengage":
                response = manager.Command(username, TwitchPilotBase.PilotCommand.Disengage, args);
                break;

            case "attack":
                response = manager.Command(username, TwitchPilotBase.PilotCommand.Attack, args);
                break;

            case "cancel":
                response = manager.Command(username, TwitchPilotBase.PilotCommand.Cancel, args);
                break;

            case "takeoff":
                response = manager.Command(username, TwitchPilotBase.PilotCommand.TakeOff, args);
                break;

            case "land":
            case "rtb":
                response = manager.Command(username, TwitchPilotBase.PilotCommand.RTB, args);
                break;

            case "refuel":
                response = manager.Command(username, TwitchPilotBase.PilotCommand.A2ARefuel, args);
                break;

            case "bomb":
                response = manager.Command(username, TwitchPilotBase.PilotCommand.Bomb, args);
                break;

            case "cm":
            case "cms":
            case "countermeasure":
            case "countermeasures":
                response = manager.Command(username, TwitchPilotBase.PilotCommand.CM, args);
                break;

            case "chaff":
                response = manager.Command(username, TwitchPilotBase.PilotCommand.Chaff, args);
                break;

            case "flare":
                response = manager.Command(username, TwitchPilotBase.PilotCommand.Flare, args);
                break;

            case "jettisonempty":
            case "dropempty":
                response = manager.Command(username, TwitchPilotBase.PilotCommand.JetisonEmpty, args);
                break;

            case "jettisonfuel":
            case "jettisontank":
            case "jettisontanks":
            case "jettisondroptank":
            case "jettisondroptanks":
            case "dropfuel":
            case "droptank":
            case "droptanks":
                response = manager.Command(username, TwitchPilotBase.PilotCommand.JetisonFuel, args);
                break;

            case "jettison":
            case "drop":
                response = manager.Command(username, TwitchPilotBase.PilotCommand.Jetison, args);
                break;

            case "eject":
                response = manager.Command(username, TwitchPilotBase.PilotCommand.Eject, args);
                break;

            case "kamikaze":
                response = manager.Command(username, TwitchPilotBase.PilotCommand.Kamikaze, args);
                break;

            default:
                _client.SendMessage(e.Command.ChatMessage.Channel, $"Unknown chat command: {e.Command.CommandIdentifier}{e.Command.CommandText}");
                break;
            }

            if (response != "")
            {
                _client.SendMessage(e.Command.ChatMessage.Channel, response);
            }
        }
Пример #11
0
        private static void TwitchClient_OnChatCommandReceived(object sender, TwitchLib.Client.Events.OnChatCommandReceivedArgs e)
        {
            switch (e.Command.CommandText.ToLower())
            {
            case "pokemon":
                if (e.Command.ChatMessage.IsBroadcaster || (e.Command.ChatMessage.IsModerator && Properties.Settings.Default.modStart))
                {
                    if (con)
                    {
                        Random random = new Random();
                        int    rand   = 0;
                        do
                        {
                            rand = random.Next(pkmn.PokemonSpecies.FlavorTextEntries.Length);
                        } while (pkmn.PokemonSpecies.FlavorTextEntries[rand].Language.Name != "en" || pkmn.PokemonSpecies.FlavorTextEntries[rand].FlavorText.ToLower().Contains(pkmn.Name));
                        pkmn.PokemonSpecies.FlavorCurrent = rand;
                        SendMessage("Bonus entry: " + pkmn.PokemonSpecies.FlavorTextEntries[rand].FlavorText);
                    }
                    else
                    {
                        try
                        {
                            GeneratePokemon(Int32.Parse(e.Command.ArgumentsAsList[0]));
                        }
                        catch (Exception)
                        {
                            GeneratePokemon();
                        }
                    }
                }
                else
                {
                    if (con)
                    {
                        SendMessage(pkmn.PokemonSpecies.FlavorTextEntries[pkmn.PokemonSpecies.FlavorCurrent].FlavorText);
                    }
                }

                break;

            case "hint":
                if (con)
                {
                    if (e.Command.ChatMessage.IsBroadcaster || (e.Command.ChatMessage.IsModerator && Properties.Settings.Default.modHint))
                    {
                        try
                        {
                            string a;
                            try
                            {
                                a = e.Command.ArgumentsAsList[0].ToLower();
                            }
                            catch (Exception)
                            {
                                a = "type";
                            }

                            if (a == "random")
                            {
                                Random   r     = new Random();
                                string[] table = { "type", "ability", "height", "weight", "colour", "special", "random" };
                                a = table[r.Next(table.Length)];
                            }

                            switch (a)
                            {
                            case "type":
                                string s = "";
                                foreach (var type in pkmn.Types)
                                {
                                    s += (type.Type.Name) + " ";
                                }
                                SendMessage("This Pokémon's typing is " + s);
                                break;

                            case "ability":
                            case "abilities":
                                string t = "";
                                foreach (var abs in pkmn.Abilities)
                                {
                                    t += (abs.Ability.Name) + " ";
                                }
                                SendMessage("This Pokémon's abilities are: " + t);
                                break;

                            case "height":
                            case "weight":
                            case "biometrics":
                                SendMessage("This Pokémon is " + (pkmn.Height / 10.0) + "m in size and weighs " + (pkmn.Weight / 10.0) + "kg");
                                break;

                            case "color":
                            case "colour":
                                SendMessage("This Pokémon is " + pkmn.PokemonSpecies.Color.Name);
                                break;

                            case "special":
                                if (pkmn.PokemonSpecies.IsBaby)
                                {
                                    SendMessage("This is a baby Pokémon");
                                }
                                else if (pkmn.PokemonSpecies.IsLegendary)
                                {
                                    SendMessage("This is a legendary Pokémon");
                                }
                                else if (pkmn.PokemonSpecies.IsMythical)
                                {
                                    SendMessage("This is a mythical Pokémon");
                                }
                                else
                                {
                                    SendMessage("This is not a baby, legendary, or mythical Pokémon");
                                }
                                break;

                            case "name":
                                SendMessage("This Pokémon's Name is " + pkmn.Name.Length + " characters long");
                                break;

                            case "help":
                                SendMessage("The arguments are: type, ability, height/weight/biometrics, color/colour, special, name, random");
                                break;

                            default:
                                SendMessage("No arguments identified. Possible arguments are: type, ability, height, weight, colour, special, random");
                                break;
                            }
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine();
                            Console.WriteLine("== ERROR ==");
                            if (pkmn == null)
                            {
                                Console.WriteLine("pkmn is null");
                            }
                            Console.WriteLine(ex.Message);
                            Console.WriteLine("== if you see this, yell at the dev ==");
                            Console.WriteLine("The program should be safe to continue without relaunching");
                        }
                    }
                }

                break;

            case "tellme":
                if (e.Command.ChatMessage.IsBroadcaster)
                {
                    try
                    {
                        Console.WriteLine();
                        Console.WriteLine("Current Pokémon: " + pkmn.PokemonSpecies.Name.Substring(0, 1).ToUpper() + pkmn.PokemonSpecies.Name.Substring(1));
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine();
                        Console.WriteLine("== ERROR ==");
                        Console.WriteLine(ex.Message);
                    }
                }
                break;

            case "help":
                if (con && e.Command.ChatMessage.IsBroadcaster)
                {
                    Helper();
                }
                break;

            case "end":
                if (con && (e.Command.ChatMessage.IsBroadcaster || (e.Command.ChatMessage.IsModerator && Properties.Settings.Default.modStart)))
                {
                    con = false;
                    SendMessage("Guessing game ended! The Pokémon was " + pkmn.Name.Substring(0, 1).ToUpper() + pkmn.Name.Substring(1) + "!");
                }
                break;

            case "guess":
                if (e.Command.ArgumentsAsList.Count >= 1 && con)
                {
                    if (e.Command.ArgumentsAsString.ToLower() == pkmn.Name || e.Command.ArgumentsAsString.ToLower() == pkmn.PokemonSpecies.Name)
                    {
                        SendMessage("Congratulations @" + e.Command.ChatMessage.Username + "! The Pokémon was " + pkmn.Name.Substring(0, 1).ToUpper() + pkmn.Name.Substring(1));
                        con = false;
                    }
                }
                break;

            default:
                break;
            }
        }