mirror of
https://github.com/Bubuni-Team/telegram-bot.git
synced 2026-07-31 00:29:24 +03:00
[entertainment] cleanup callbackquery handler, show guessed number
This commit is contained in:
@@ -81,13 +81,8 @@ public class Guess : CommonHandler
|
|||||||
[Update(InChat.Public, UpdateFlag.CallbackQuery)]
|
[Update(InChat.Public, UpdateFlag.CallbackQuery)]
|
||||||
public async Task HandleGuessResponse()
|
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;
|
var messageId = CallbackQuery.Message?.MessageId;
|
||||||
|
if (messageId == null || CallbackQuery.Data == null)
|
||||||
if (messageId == null
|
|
||||||
|| CallbackQuery.Data == null
|
|
||||||
|| !guessDict.TryGetValue((int) messageId, out var data))
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -96,14 +91,17 @@ public class Guess : CommonHandler
|
|||||||
var fromId = fromUser.Id;
|
var fromId = fromUser.Id;
|
||||||
var callbackData = CallbackQuery.Data.Split('|');
|
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (callbackData[0] != "guess"
|
var guessDict = _guessCache.GetOr(Chat.Id, new ConcurrentDictionary<int, GuessData>());
|
||||||
|| callbackData[1] != fromId.ToString()
|
if (!guessDict.TryGetValue((int) messageId, out var data)
|
||||||
|| callbackData[2] != "answer")
|
|| fromId != data.UserId)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -129,14 +127,14 @@ public class Guess : CommonHandler
|
|||||||
}
|
}
|
||||||
else
|
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");
|
var cooldownOption = await _db.UserValues.FindOrCreateOption(Chat.Id, From.Id, "guessCooldown");
|
||||||
cooldownOption.SetValue(nextUse);
|
cooldownOption.SetValue(nextUse);
|
||||||
|
|
||||||
_db.AddOrUpdate(cooldownOption);
|
_db.AddOrUpdate(cooldownOption);
|
||||||
|
|
||||||
|
await Bot.EditMessageTextAsync(Chat, (int) messageId, message + postFix, parseMode: ParseMode.Html);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user