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(); }
private async void VoteSpud() { if (JackboxClient.GameState.Self.State == RoomState.GameplayEnter) { return; } LogInfo("Voting."); await Task.Delay(1000); JackboxClient.Vote(1); }
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); }
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); }
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); }
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); }
public WordSpudEngine(ICompletionService completionService, ILogger logger, WordSpudClient client) : base(completionService, logger, client) { JackboxClient.OnSelfUpdate += OnSelfUpdate; JackboxClient.OnRoomUpdate += OnRoomUpdate; JackboxClient.Connect(); }