Ejemplo n.º 1
0
 public Fibbage3Engine(ICompletionService completionService, ILogger logger, Fibbage3Client client)
     : base(completionService, logger, client)
 {
     JackboxClient.OnRoomUpdate += OnRoomUpdate;
     JackboxClient.OnSelfUpdate += OnSelfUpdate;
     JackboxClient.Connect();
 }
        public SurviveTheInternetEngine(ICompletionService completionService, ILogger logger, IConfigurationProvider configuration,
                                        SurviveTheInternetClient client) : base(completionService, logger, client)
        {
            _configuration       = configuration;
            _descriptionProvider = new ImageDescriptionProvider("sti_image_descriptions.json");

            JackboxClient.OnSelfUpdate += OnSelfUpdate;
            JackboxClient.Connect();
        }
Ejemplo n.º 3
0
        private async void VoteSpud()
        {
            if (JackboxClient.GameState.Self.State == RoomState.GameplayEnter)
            {
                return;
            }
            LogInfo("Voting.");

            await Task.Delay(1000);

            JackboxClient.Vote(1);
        }
Ejemplo n.º 4
0
        private async void SubmitSpud()
        {
            var currentWord = JackboxClient.GameState.Room.CurrentWord.Trim().Split(" ").Last();

            LogInfo($"Getting a spud for \"{currentWord}\".");

            var spud = await ProvideSpud(currentWord);

            LogInfo($"Submitting \"{spud}\".");

            JackboxClient.SubmitSpud(spud);
        }
Ejemplo n.º 5
0
        private async void SubmitDoubleLie(Fibbage3Player self)
        {
            _lieLock = true;

            var prompt = CleanPromptForEntry(self.Question);

            LogInfo($"Asking GPT-3 for double lie in response to \"{prompt}\".");

            var lie = await ProvideDoubleLie(prompt, self.AnswerDelim, self.MaxLength);

            LogInfo($"Submitting double lie \"{lie}\".");

            JackboxClient.SubmitLie(lie);
        }
Ejemplo n.º 6
0
        private async void ChooseRandomCategory()
        {
            var room = JackboxClient.GameState.Room;

            LogInfo("Time to choose a category.");
            await Task.Delay(3000);

            var choices  = room.CategoryChoices;
            var category = choices.RandomIndex();

            LogInfo($"Choosing category \"{choices[category].Trim()}\".");

            JackboxClient.ChooseCategory(category);
        }
Ejemplo n.º 7
0
        private async void SubmitTruth(Fibbage3Player self)
        {
            _truthLock = true;

            var prompt = CleanPromptForEntry(JackboxClient.GameState.Room.Question);

            LogInfo("Asking GPT-3 to choose truth.");

            var choices = self.LieChoices;
            var truth   = await ProvideTruth(prompt, choices);

            LogInfo($"Submitting truth {truth}.");

            JackboxClient.ChooseTruth(truth, choices[truth].Text);
        }
        private async void SubmitEntry(SurviveTheInternetPlayer player)
        {
            string entry;

            if (player.Text.AboveBlackBox != null && player.Text.AboveBlackBox.StartsWith("<img"))
            {
                entry = await ProvideImageTwist(player.Text, player.MaxLength);
            }
            else
            {
                entry = player.EntryId switch
                {
                    "response" => await ProvideResponse(player.Text.BelowBlackBox, player.MaxLength),
                    "twist" => await ProvideTwist(player.Text, player.MaxLength),
                    _ => "I don't know how to respond to that"
                }
            };

            LogDebug($"Submitting entry \"{entry}\".");

            JackboxClient.SendEntry(entry);
        }
        private void SubmitVote(SurviveTheInternetPlayer player)
        {
            var vote = player.EntryChoices.RandomIndex();

            JackboxClient.ChooseIndex(vote);
        }
        private void SubmitImageChoice(SurviveTheInternetPlayer player)
        {
            var choice = player.ImageChoices.RandomIndex();

            JackboxClient.ChooseIndex(choice);
        }
Ejemplo n.º 11
0
 public WordSpudEngine(ICompletionService completionService, ILogger logger, WordSpudClient client) : base(completionService, logger, client)
 {
     JackboxClient.OnSelfUpdate += OnSelfUpdate;
     JackboxClient.OnRoomUpdate += OnRoomUpdate;
     JackboxClient.Connect();
 }