mirror of
https://github.com/Bubuni-Team/telegram-bot.git
synced 2026-07-31 00:29:24 +03:00
[whois] Move whois to separate handler in ChatManagement.
This commit is contained in:
@@ -8,9 +8,7 @@ using Kruzya.TelegramBot.Core.Data;
|
||||
using Kruzya.TelegramBot.Core.Extensions;
|
||||
using Kruzya.TelegramBot.Core.Service;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Telegram.Bot;
|
||||
using Telegram.Bot.Types;
|
||||
using Telegram.Bot.Types.Enums;
|
||||
|
||||
namespace West.TelegramBot.Reputation.Handler;
|
||||
|
||||
@@ -53,25 +51,6 @@ public class Reputation : CommonHandler
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
[Command("whois", CommandParseMode.Both)]
|
||||
public async Task HandleWhois()
|
||||
{
|
||||
var user = RepliedUser ?? From;
|
||||
var message = $"{user.ToHtml()}\n";
|
||||
if (user.IsBot)
|
||||
{
|
||||
message += "<code>Бот</code>";
|
||||
}
|
||||
else
|
||||
{
|
||||
message += $"<code>{await GetChatMemberStatusString(user)}</code>\n";
|
||||
message += $"<code>Репутация: {await GetUserReputation(user)}\n";
|
||||
message += $"Предупреждения: {(await GetWarnOption(user)).GetValue<int>()}</code>";
|
||||
}
|
||||
|
||||
await Reply(message);
|
||||
}
|
||||
|
||||
[Message(InChat.Public, MessageFlag.HasText | MessageFlag.HasSticker)]
|
||||
public async Task HandleReputation()
|
||||
{
|
||||
@@ -154,22 +133,4 @@ public class Reputation : CommonHandler
|
||||
{
|
||||
return await _reputationService.GetUserReputationAsync(Chat, user);
|
||||
}
|
||||
|
||||
private async Task<string> GetChatMemberStatusString(User user)
|
||||
{
|
||||
var customStatus = _userService.GetUserCustomStatus(user.Id);
|
||||
if (customStatus != null)
|
||||
{
|
||||
return customStatus;
|
||||
}
|
||||
|
||||
var chatMember = await Bot.GetChatMemberAsync(Chat.Id, user.Id);
|
||||
return chatMember.Status switch
|
||||
{
|
||||
ChatMemberStatus.Creator => "Владелец",
|
||||
ChatMemberStatus.Restricted => "Заблокированный",
|
||||
ChatMemberStatus.Administrator => "Администратор",
|
||||
_ => "Пользователь"
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user