static void Main(string[] args) { string token = File.ReadAllText(@"C:\SKILLBOX_STUDY\C#\HOMEWORK\9\TelegramBot\Data_Files\tokens\token"); // токен для бота string dFlowKeyPath = @"C:\SKILLBOX_STUDY\C#\HOMEWORK\9\TelegramBot\Data_Files\tokens\small-talk-rghy-1fa31b152405.json"; // путь к токену для DialogFlow бота // Создание telegram-бота Bot = new TelegramBotClient(token); // Создание DialogFlow клиента var dic = JsonConvert.DeserializeObject <Dictionary <string, string> >(File.ReadAllText(dFlowKeyPath)); projectID = dic["project_id"]; sessionID = dic["private_key_id"]; var dialogFlowBuilder = new SessionsClientBuilder { CredentialsPath = dFlowKeyPath }; dFlowClient = dialogFlowBuilder.Build(); games = new AllGames(); // Подписываем обработчики на события Bot.OnMessage += Bot_OnMessage; Bot.OnCallbackQuery += Bot_OnCallbackQuery; Bot.StartReceiving(); Console.ReadKey(); Bot.StopReceiving(); }
private SessionsClient CreateDialogflowSessionsClient(ScopeContext context) { var credential = GoogleCredential.FromFile(context.Parameters["JsonPath"]).CreateScoped(SessionsClient.DefaultScopes); var clientBuilder = new SessionsClientBuilder { ChannelCredentials = credential.ToChannelCredentials() }; var client = clientBuilder.Build(); return(client); }
private SessionsClient RegisterDialogflowSessionsClient(IComponentContext context) { var configuration = context.Resolve <DialogflowConfiguration>(); var credential = GoogleCredential.FromFile(configuration.JsonPath).CreateScoped(SessionsClient.DefaultScopes); var clientBuilder = new SessionsClientBuilder { ChannelCredentials = credential.ToChannelCredentials() }; var client = clientBuilder.Build(); return(client); }
private string GetAnswer(string messageText, string sessionId) { var builder = new SessionsClientBuilder(); builder.CredentialsPath = @"D:\Projects\BananasAnanaserBot\df-access-key.json"; var client = builder.Build(); var projectId = configuration["ProjectId"]; var languageCode = "ru-RU"; var sessionName = SessionName.FromProjectSession(projectId, sessionId); var queryInput = new QueryInput { Text = new TextInput { Text = messageText, LanguageCode = languageCode } }; var response = client.DetectIntent(sessionName, queryInput); return(response.QueryResult.FulfillmentText); }