mirror of
https://github.com/Bubuni-Team/telegram-bot.git
synced 2026-07-31 00:29:24 +03:00
[core] Massive setting system update
- Get rid of attribute crap. Now only interface is required - Rename canUse to isAdmin in `Bot.IsUserAdminAsync` to match the actual meaning of variable - Made `AnswerQuery` reusable by moving it from ContentStore to Core's CommonHandler - Chat Settings edit frontend (inline keyboard) - Rename NsfwOption to AllowNsfw and move it to ContentStore module - Remove option backend testing commands - Add KarmaMode option as an example of Select option type
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
using System.Collections.Generic;
|
||||
using Telegram.Bot.Types.ReplyMarkups;
|
||||
|
||||
namespace Kruzya.TelegramBot.Core.Options;
|
||||
|
||||
public class SelectChoice
|
||||
{
|
||||
public string Id { get; }
|
||||
public string FullName { get; }
|
||||
public string ShortName { get; }
|
||||
|
||||
public SelectChoice(string id, string fullName, string shortName)
|
||||
{
|
||||
Id = id;
|
||||
FullName = fullName;
|
||||
ShortName = shortName;
|
||||
}
|
||||
|
||||
public IEnumerable<InlineKeyboardButton> ToButton(long userId, string optionId, bool isActive = false)
|
||||
{
|
||||
return new[]
|
||||
{
|
||||
new InlineKeyboardButton((isActive ? "🟢 " : "🔴 ") + FullName)
|
||||
{
|
||||
CallbackData = $"option|{userId}|select|{optionId}|{Id}"
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user