public TelegramClient(ITransportConfig transportConfig, ConnectionConfig connectionConfig, TelegramAppInfo appInfo, IMTProtoBuilder builder = null) { if (builder == null) { builder = MTProtoBuilder.Default; } _transportConfig = transportConfig; _appInfo = appInfo; _connection = builder.BuildConnection(_transportConfig); _connection.Configure(connectionConfig); _methods = new TelegramAsyncMethods(_connection); }
/// <summary> /// Write a successful server startup to the session file. /// </summary> /// <param name="languageServiceTransport">The LSP service transport configuration.</param> /// <param name="debugAdapterTransport">The debug adapter transport configuration.</param> public void WriteSessionStarted(ITransportConfig languageServiceTransport, ITransportConfig debugAdapterTransport) { _logger.Log(PsesLogLevel.Diagnostic, "Writing session started"); var sessionObject = new Dictionary <string, object> { { "status", "started" }, }; if (languageServiceTransport != null) { sessionObject["languageServiceTransport"] = languageServiceTransport.SessionFileTransportName; if (languageServiceTransport.SessionFileEntries != null) { foreach (KeyValuePair <string, object> sessionEntry in languageServiceTransport.SessionFileEntries) { sessionObject[$"languageService{sessionEntry.Key}"] = sessionEntry.Value; } } } if (debugAdapterTransport != null) { sessionObject["debugServiceTransport"] = debugAdapterTransport.SessionFileTransportName; if (debugAdapterTransport.SessionFileEntries != null) { foreach (KeyValuePair <string, object> sessionEntry in debugAdapterTransport.SessionFileEntries) { sessionObject[$"debugService{sessionEntry.Key}"] = sessionEntry.Value; } } } WriteSessionObject(sessionObject); }