remove commands
This commit is contained in:
@@ -1,34 +0,0 @@
|
|||||||
namespace ChatBot.Services.Telegram.Commands
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Команда /help
|
|
||||||
/// </summary>
|
|
||||||
[Command("/help", "Показать справку по командам")]
|
|
||||||
public class HelpCommand : TelegramCommandBase
|
|
||||||
{
|
|
||||||
private const string HelpMessage =
|
|
||||||
"Привет! Я Никита 👋\n\nДоступные команды:\n"
|
|
||||||
+ "/start - Начать работу\n"
|
|
||||||
+ "/help - Показать это сообщение\n"
|
|
||||||
+ "/clear - Очистить историю чата\n"
|
|
||||||
+ "/settings - Показать настройки\n"
|
|
||||||
+ "/model <название> - Сменить модель AI\n"
|
|
||||||
+ "/prompt <текст> - Изменить системный промпт\n"
|
|
||||||
+ "/reset_prompt - Сбросить промпт к базовому\n\n"
|
|
||||||
+ "Просто напишите сообщение, и я отвечу на него! 😊";
|
|
||||||
|
|
||||||
public HelpCommand(ChatService chatService, ModelService modelService)
|
|
||||||
: base(chatService, modelService) { }
|
|
||||||
|
|
||||||
public override string CommandName => "/help";
|
|
||||||
public override string Description => "Показать справку по командам";
|
|
||||||
|
|
||||||
public override Task<string> ExecuteAsync(
|
|
||||||
TelegramCommandContext context,
|
|
||||||
CancellationToken cancellationToken = default
|
|
||||||
)
|
|
||||||
{
|
|
||||||
return Task.FromResult(HelpMessage);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,64 +0,0 @@
|
|||||||
namespace ChatBot.Services.Telegram.Commands
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Команда /model
|
|
||||||
/// </summary>
|
|
||||||
[Command("/model", "Управление AI моделями")]
|
|
||||||
public class ModelCommand : TelegramCommandBase
|
|
||||||
{
|
|
||||||
public ModelCommand(ChatService chatService, ModelService modelService)
|
|
||||||
: base(chatService, modelService) { }
|
|
||||||
|
|
||||||
public override string CommandName => "/model";
|
|
||||||
public override string Description => "Управление AI моделями";
|
|
||||||
|
|
||||||
public override Task<string> ExecuteAsync(
|
|
||||||
TelegramCommandContext context,
|
|
||||||
CancellationToken cancellationToken = default
|
|
||||||
)
|
|
||||||
{
|
|
||||||
if (HasArguments(context))
|
|
||||||
{
|
|
||||||
return ChangeModel(context);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return ShowAvailableModels();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private Task<string> ChangeModel(TelegramCommandContext context)
|
|
||||||
{
|
|
||||||
var modelName = GetArguments(context);
|
|
||||||
var availableModels = _modelService.GetAvailableModels();
|
|
||||||
|
|
||||||
if (!availableModels.Contains(modelName))
|
|
||||||
{
|
|
||||||
return Task.FromResult(
|
|
||||||
$"❌ Модель '{modelName}' не найдена!\n\n"
|
|
||||||
+ "Используйте /model для просмотра доступных моделей."
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
_chatService.UpdateSessionParameters(context.ChatId, model: modelName);
|
|
||||||
return Task.FromResult($"✅ Модель изменена на: {modelName}");
|
|
||||||
}
|
|
||||||
|
|
||||||
private Task<string> ShowAvailableModels()
|
|
||||||
{
|
|
||||||
var models = _modelService.GetAvailableModels();
|
|
||||||
var currentModel = _modelService.GetCurrentModel();
|
|
||||||
var modelList = string.Join(
|
|
||||||
"\n",
|
|
||||||
models.Select(m => m == currentModel ? $"• {m} (текущая)" : $"• {m}")
|
|
||||||
);
|
|
||||||
|
|
||||||
return Task.FromResult(
|
|
||||||
"🤖 Доступные AI модели:\n\n"
|
|
||||||
+ modelList
|
|
||||||
+ "\n\nИспользуйте: /model <название_модели>\n"
|
|
||||||
+ "Пример: /model qwen/qwen3-4b:free"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
namespace ChatBot.Services.Telegram.Commands
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Команда /prompt
|
|
||||||
/// </summary>
|
|
||||||
[Command("/prompt", "Управление системным промптом")]
|
|
||||||
public class PromptCommand : TelegramCommandBase
|
|
||||||
{
|
|
||||||
private const string PromptHelpMessage =
|
|
||||||
"Пожалуйста, укажите новый системный промпт. Пример: /prompt Ты помощник по программированию";
|
|
||||||
|
|
||||||
public PromptCommand(ChatService chatService, ModelService modelService)
|
|
||||||
: base(chatService, modelService) { }
|
|
||||||
|
|
||||||
public override string CommandName => "/prompt";
|
|
||||||
public override string Description => "Управление системным промптом";
|
|
||||||
|
|
||||||
public override Task<string> ExecuteAsync(
|
|
||||||
TelegramCommandContext context,
|
|
||||||
CancellationToken cancellationToken = default
|
|
||||||
)
|
|
||||||
{
|
|
||||||
if (HasArguments(context))
|
|
||||||
{
|
|
||||||
var newPrompt = GetArguments(context);
|
|
||||||
_chatService.UpdateSessionParameters(context.ChatId, systemPrompt: newPrompt);
|
|
||||||
return Task.FromResult($"✅ Системный промпт изменен на:\n{newPrompt}");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return Task.FromResult(PromptHelpMessage);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user