[entertainment] cleanup callbackquery handler, show guessed number

This commit is contained in:
Andriy
2023-01-18 16:29:18 +02:00
parent e3eb54d0e0
commit 66fe5cb4fb
+11 -13
View File
@@ -81,13 +81,8 @@ public class Guess : CommonHandler
[Update(InChat.Public, UpdateFlag.CallbackQuery)]
public async Task HandleGuessResponse()
{
// TODO: i know, there is a lot things to improve...
var guessDict = _guessCache.GetOr(Chat.Id, new ConcurrentDictionary<int, GuessData>());
var messageId = CallbackQuery.Message?.MessageId;
if (messageId == null
|| CallbackQuery.Data == null
|| !guessDict.TryGetValue((int) messageId, out var data))
if (messageId == null || CallbackQuery.Data == null)
{
return;
}
@@ -96,14 +91,17 @@ public class Guess : CommonHandler
var fromId = fromUser.Id;
var callbackData = CallbackQuery.Data.Split('|');
if (fromId != data.UserId || callbackData.Length < 4)
if (callbackData.Length < 4
|| callbackData[0] != "guess"
|| callbackData[1] != fromId.ToString()
|| callbackData[2] != "answer")
{
return;
}
if (callbackData[0] != "guess"
|| callbackData[1] != fromId.ToString()
|| callbackData[2] != "answer")
var guessDict = _guessCache.GetOr(Chat.Id, new ConcurrentDictionary<int, GuessData>());
if (!guessDict.TryGetValue((int) messageId, out var data)
|| fromId != data.UserId)
{
return;
}
@@ -129,14 +127,14 @@ public class Guess : CommonHandler
}
else
{
message = $"{fromUser.ToHtml()} не угадал!";
message = $"{fromUser.ToHtml()} не угадал!\nЗагаданное число: {data.Number}.";
}
await Bot.EditMessageTextAsync(Chat, (int) messageId, message + postFix, parseMode: ParseMode.Html);
var cooldownOption = await _db.UserValues.FindOrCreateOption(Chat.Id, From.Id, "guessCooldown");
cooldownOption.SetValue(nextUse);
_db.AddOrUpdate(cooldownOption);
await Bot.EditMessageTextAsync(Chat, (int) messageId, message + postFix, parseMode: ParseMode.Html);
}
}