diff --git a/SerfBot/OpenAiApi.fs b/SerfBot/OpenAiApi.fs index fe1460b..ca530fe 100644 --- a/SerfBot/OpenAiApi.fs +++ b/SerfBot/OpenAiApi.fs @@ -4,13 +4,14 @@ open OpenAI_API open OpenAI_API.Models open SerfBot.Log -let mutable currentContext = None +let defaultContext = "Ты персональный помощник-бот в telegram. Чаще всего тебе нужно генерировать C#, F# или SQL код, но иногда нужно и отвечать на бытовые вопросы." +let mutable currentContext = Some(defaultContext) let setupContext (newContext: string) = match newContext with | null -> match currentContext with - | None -> "Ты персональный помощник-бот в telegram. Чаще всего тебе нужно генерировать C#, F# или SQL код, но иногда нужно и отвечать на бытовые вопросы." + | None -> defaultContext | Some x -> x | _ -> currentContext <- Some newContext diff --git a/SerfBot/TelegramBot.fs b/SerfBot/TelegramBot.fs index 1ac137b..22d5cae 100644 --- a/SerfBot/TelegramBot.fs +++ b/SerfBot/TelegramBot.fs @@ -10,10 +10,11 @@ open SerfBot.Types open SerfBot.TelegramApi let extractCommand (str: string) = - let message = str.Split(" "); - let command = message[0].Trim().ToLower() - let userMessage = str.Split(" ")[1] - (command, userMessage) + match str.Split(" ", 2) with + | [| command; inputText |] -> + (command, inputText) + | [| command; |] -> + (command, null) let isValidUser (userId: int64) = if Array.contains userId Configuration.config.UserIds then Some ()