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,21 @@
|
||||
using Kruzya.TelegramBot.Core.Options;
|
||||
|
||||
namespace West.TelegramBot.Reputation.Options;
|
||||
|
||||
public class KarmaMode : AbstractOption<KarmaMode, string>
|
||||
{
|
||||
public override string OptionId => "karmaMode";
|
||||
public override string OptionName => "Karma Mode";
|
||||
public override OptionType OptionType => OptionType.Select;
|
||||
public override string DefaultValue => "geometric";
|
||||
|
||||
public KarmaMode(IOptionProvider optionProvider) : base(optionProvider)
|
||||
{
|
||||
ChoiceList.AddRange(new []
|
||||
{
|
||||
new SelectChoice("geometric", "Geometric", "G"),
|
||||
new SelectChoice("linear", "Linear", "L")
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
using Kruzya.TelegramBot.Core;
|
||||
using Kruzya.TelegramBot.Core.Options;
|
||||
using Kruzya.TelegramBot.Core.Service;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using West.TelegramBot.Reputation.Data;
|
||||
using West.TelegramBot.Reputation.Options;
|
||||
using West.TelegramBot.Reputation.Service;
|
||||
|
||||
namespace West.TelegramBot.Reputation;
|
||||
@@ -20,5 +22,6 @@ public class Reputation : Module
|
||||
services.AddDbContext<ReputationContext>(options => options.UseMySql(dsn, ServerVersion.AutoDetect(dsn)));
|
||||
|
||||
services.AddScoped<IReputation, ReputationService>();
|
||||
services.AddScoped<IOption, KarmaMode>();
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
|
||||
Reference in New Issue
Block a user