mirror of
https://github.com/barelyprofessional/KfChatDotNet.git
synced 2026-05-02 04:22:04 -04:00
Suppress nullable warnings, re-implement the missing wait for message, extend the delay a little to make sure shit doesn't go out of order and update the ResetMessage message null check given A Log changed the type for whatever reason
This commit is contained in:
@@ -24,7 +24,7 @@ public class KasinoMines
|
|||||||
public int Size { get; set; }
|
public int Size { get; set; }
|
||||||
public int Mines { get; set; }
|
public int Mines { get; set; }
|
||||||
public List<(int r, int c)> BetsPlaced;
|
public List<(int r, int c)> BetsPlaced;
|
||||||
public SentMessageTrackerModel LastMessage;
|
public SentMessageTrackerModel LastMessage = null!;
|
||||||
|
|
||||||
|
|
||||||
public KasinoMinesGame(GamblerDbModel creator, decimal wager, int size, int mines)
|
public KasinoMinesGame(GamblerDbModel creator, decimal wager, int size, int mines)
|
||||||
@@ -34,14 +34,14 @@ public class KasinoMines
|
|||||||
Mines = mines;
|
Mines = mines;
|
||||||
Wager = wager;
|
Wager = wager;
|
||||||
MinesBoard = CreateBoard();
|
MinesBoard = CreateBoard();
|
||||||
BetsPlaced = new();
|
BetsPlaced = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task ResetMessage(SentMessageTrackerModel msg)
|
public async Task ResetMessage(SentMessageTrackerModel msg)
|
||||||
{
|
{
|
||||||
_logger.Info("Resetting message");
|
_logger.Info("Resetting message");
|
||||||
// 0 is the default for int
|
// 0 is the default for int
|
||||||
if (LastMessage.ChatMessageId.Value != 0)
|
if (LastMessage.ChatMessageId != null)
|
||||||
{
|
{
|
||||||
await _kfChatBot.KfClient.DeleteMessageAsync(LastMessage.ChatMessageId.Value);
|
await _kfChatBot.KfClient.DeleteMessageAsync(LastMessage.ChatMessageId.Value);
|
||||||
}
|
}
|
||||||
@@ -79,7 +79,7 @@ public class KasinoMines
|
|||||||
}
|
}
|
||||||
public async Task Explode((int r, int c) mineLocation, SentMessageTrackerModel msg)
|
public async Task Explode((int r, int c) mineLocation, SentMessageTrackerModel msg)
|
||||||
{
|
{
|
||||||
if (LastMessage.ChatMessageId.Value != msg.ChatMessageId!.Value)
|
if (LastMessage.ChatMessageId!.Value != msg.ChatMessageId!.Value)
|
||||||
{
|
{
|
||||||
await ResetMessage(msg);
|
await ResetMessage(msg);
|
||||||
}
|
}
|
||||||
@@ -305,7 +305,7 @@ public class KasinoMines
|
|||||||
await GetSavedGames(gamblerId);
|
await GetSavedGames(gamblerId);
|
||||||
var game = ActiveGames[gamblerId];
|
var game = ActiveGames[gamblerId];
|
||||||
game.LastInteracted = DateTimeOffset.UtcNow;
|
game.LastInteracted = DateTimeOffset.UtcNow;
|
||||||
if (game.LastMessage.ChatMessageId.Value != msg.ChatMessageId!.Value)
|
if (game.LastMessage.ChatMessageId!.Value != msg.ChatMessageId!.Value)
|
||||||
{
|
{
|
||||||
await game.ResetMessage(msg);
|
await game.ResetMessage(msg);
|
||||||
}
|
}
|
||||||
@@ -362,7 +362,7 @@ public class KasinoMines
|
|||||||
await GetSavedGames(gamblerId);
|
await GetSavedGames(gamblerId);
|
||||||
var game = ActiveGames[gamblerId];
|
var game = ActiveGames[gamblerId];
|
||||||
game.LastInteracted = DateTimeOffset.UtcNow;
|
game.LastInteracted = DateTimeOffset.UtcNow;
|
||||||
if (game.LastMessage.ChatMessageId.Value != msg.ChatMessageId!.Value)
|
if (game.LastMessage.ChatMessageId!.Value != msg.ChatMessageId!.Value)
|
||||||
{
|
{
|
||||||
await game.ResetMessage(msg);
|
await game.ResetMessage(msg);
|
||||||
}
|
}
|
||||||
@@ -385,7 +385,7 @@ public class KasinoMines
|
|||||||
}
|
}
|
||||||
|
|
||||||
var invalidBetMsg = await _kfChatBot.SendChatMessageAsync($"{game.Creator.User.FormatUsername()}, checking bets...", true);
|
var invalidBetMsg = await _kfChatBot.SendChatMessageAsync($"{game.Creator.User.FormatUsername()}, checking bets...", true);
|
||||||
await Task.Delay(3);
|
await _kfChatBot.WaitForChatMessageAsync(invalidBetMsg);
|
||||||
foreach (var bet in coords)
|
foreach (var bet in coords)
|
||||||
{
|
{
|
||||||
if (!validBets.Contains(bet) || game.BetsPlaced.Contains(bet) || bets.Contains(bet))
|
if (!validBets.Contains(bet) || game.BetsPlaced.Contains(bet) || bets.Contains(bet))
|
||||||
@@ -413,8 +413,8 @@ public class KasinoMines
|
|||||||
cashOut = true;
|
cashOut = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
await Task.Delay(5);
|
await Task.Delay(50);
|
||||||
_ = _kfChatBot.KfClient.DeleteMessageAsync(invalidBetMsg.ChatMessageId.Value);
|
_ = _kfChatBot.KfClient.DeleteMessageAsync(invalidBetMsg.ChatMessageId!.Value);
|
||||||
|
|
||||||
}
|
}
|
||||||
else bets = coords;
|
else bets = coords;
|
||||||
|
|||||||
Reference in New Issue
Block a user