This commit is contained in:
@@ -55,7 +55,7 @@ namespace ChatBot.Services
|
||||
/// <summary>
|
||||
/// Process a user message and get AI response
|
||||
/// </summary>
|
||||
public async Task<string> ProcessMessageAsync(
|
||||
public virtual async Task<string> ProcessMessageAsync(
|
||||
long chatId,
|
||||
string username,
|
||||
string message,
|
||||
@@ -192,7 +192,7 @@ namespace ChatBot.Services
|
||||
/// <summary>
|
||||
/// Get session information
|
||||
/// </summary>
|
||||
public ChatSession? GetSession(long chatId)
|
||||
public virtual ChatSession? GetSession(long chatId)
|
||||
{
|
||||
return _sessionStorage.Get(chatId);
|
||||
}
|
||||
|
||||
@@ -178,7 +178,14 @@ namespace ChatBot.Services
|
||||
// Add messages to session
|
||||
foreach (var messageEntity in entity.Messages.OrderBy(m => m.MessageOrder))
|
||||
{
|
||||
var role = Enum.Parse<ChatRole>(messageEntity.Role);
|
||||
var role = messageEntity.Role.ToLowerInvariant() switch
|
||||
{
|
||||
"user" => ChatRole.User,
|
||||
"assistant" => ChatRole.Assistant,
|
||||
"system" => ChatRole.System,
|
||||
"tool" => ChatRole.Tool,
|
||||
_ => throw new ArgumentException($"Unknown role: {messageEntity.Role}")
|
||||
};
|
||||
var message = new ChatMessage { Content = messageEntity.Content, Role = role };
|
||||
session.AddMessage(message);
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ namespace ChatBot.Services.Telegram.Services
|
||||
/// <summary>
|
||||
/// Получает информацию о боте (с кэшированием и автоматической инвалидацией)
|
||||
/// </summary>
|
||||
public async Task<User?> GetBotInfoAsync(CancellationToken cancellationToken = default)
|
||||
public virtual async Task<User?> GetBotInfoAsync(CancellationToken cancellationToken = default)
|
||||
{
|
||||
// Проверяем, есть ли валидный кэш
|
||||
if (
|
||||
|
||||
@@ -23,10 +23,16 @@ namespace ChatBot.Services.Telegram.Services
|
||||
CancellationToken cancellationToken = default
|
||||
)
|
||||
{
|
||||
ReplyParameters? replyParameters = null;
|
||||
if (replyToMessageId > 0)
|
||||
{
|
||||
replyParameters = new ReplyParameters { MessageId = replyToMessageId };
|
||||
}
|
||||
|
||||
return await _botClient.SendMessage(
|
||||
chatId: chatId,
|
||||
text: text,
|
||||
replyParameters: replyToMessageId,
|
||||
replyParameters: replyParameters,
|
||||
cancellationToken: cancellationToken
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user