private void InitializeApiClients() { DomainsClient = new DomainsClient(httpClient, "domains"); MessagesClient = new MessagesClient(httpClient, "domains"); RulesClient = new RulesClient(httpClient, "domains"); StatsClient = new StatsClient(httpClient, "team"); }
public static async Task LogOut() { var request = new HttpRequestMessage(HttpMethod.Delete, "tokens"); request.Headers.Authorization = new AuthenticationHeaderValue("Basic", $"{_token}:".ToBase64String()); await Client.SendAsync(request).ConfigureAwait(false); _token = Guid.Empty; lock (UsersLock) { _usersClient.Dispose(); _usersClient = null; _usersCreated = false; } lock (ChatsLock) { _chatsClient.Dispose(); _chatsClient = null; _chatsCreated = false; } lock (MessagesLock) { _messagesClient?.Dispose(); _messagesClient = null; _messagesCreated = false; } _poller?.Dispose(); _poller = null; }
public async Task SendMessage(int dialogId, string?text, string?voiceMessagePath) { var messageId = await MessagesClient.Send(dialogId, text, voiceMessagePath); var myProfile = new Profile { Id = AuthorizationManager.UserId, Name = string.Empty, Photo = AuthorizationManager.Photo, Online = true, Surname = string.Empty }; var fullText = text?.Trim() ?? $"{Consts.PaperClip} {LocalizedStrings.VoiceMessage}"; var newMessage = new Message( messageId, //Will be loaded on next update fullText, fullText, null, DateTime.Now, DateTime.Now, false, myProfile, null, // All next fields can't be set by our app null, null, null); newMessage.SetRead(true); AddUpdateMessagesInCollection(dialogId, new [] { newMessage }, null, false); }
/// <summary>Snippet for GetMessage</summary> public void GetMessageResourceNames() { // Snippet: GetMessage(MessageName, CallSettings) // Create client MessagesClient messagesClient = MessagesClient.Create(); // Initialize request argument(s) MessageName name = MessageName.FromProjectMessage("[PROJECT]", "[MESSAGE]"); // Make the request Message response = messagesClient.GetMessage(name); // End snippet }
/// <summary>Snippet for GetMessage</summary> public void GetMessage() { // Snippet: GetMessage(string, CallSettings) // Create client MessagesClient messagesClient = MessagesClient.Create(); // Initialize request argument(s) string name = "projects/[PROJECT]/messages/[MESSAGE]"; // Make the request Message response = messagesClient.GetMessage(name); // End snippet }
/// <summary>Snippet for CreateMessage</summary> public void CreateMessageResourceNames() { // Snippet: CreateMessage(ProjectName, Message, CallSettings) // Create client MessagesClient messagesClient = MessagesClient.Create(); // Initialize request argument(s) ProjectName parent = ProjectName.FromProject("[PROJECT]"); Message message = new Message(); // Make the request Message response = messagesClient.CreateMessage(parent, message); // End snippet }
/// <summary>Snippet for CreateMessage</summary> public void CreateMessage() { // Snippet: CreateMessage(string, Message, CallSettings) // Create client MessagesClient messagesClient = MessagesClient.Create(); // Initialize request argument(s) string parent = "projects/[PROJECT]"; Message message = new Message(); // Make the request Message response = messagesClient.CreateMessage(parent, message); // End snippet }
/// <summary>Snippet for ListMessagesAsync</summary> public async Task ListMessagesRequestObjectAsync() { // Snippet: ListMessagesAsync(ListMessagesRequest, CallSettings) // Create client MessagesClient messagesClient = await MessagesClient.CreateAsync(); // Initialize request argument(s) ListMessagesRequest request = new ListMessagesRequest { ParentAsProjectName = ProjectName.FromProject("[PROJECT]"), StartTime = new Timestamp(), EndTime = new Timestamp(), Filter = "", }; // Make the request PagedAsyncEnumerable <ListMessagesResponse, Message> response = messagesClient.ListMessagesAsync(request); // Iterate over all response items, lazily performing RPCs as required await response.ForEachAsync((Message item) => { // Do something with each item Console.WriteLine(item); }); // Or iterate over pages (of server-defined size), performing one RPC per page await response.AsRawResponses().ForEachAsync((ListMessagesResponse page) => { // Do something with each page of items Console.WriteLine("A page of results:"); foreach (Message item in page) { // Do something with each item Console.WriteLine(item); } }); // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required int pageSize = 10; Page <Message> singlePage = await response.ReadPageAsync(pageSize); // Do something with the page of items Console.WriteLine($"A page of {pageSize} results (unless it's the final page):"); foreach (Message item in singlePage) { // Do something with each item Console.WriteLine(item); } // Store the pageToken, for when the next page is required. string nextPageToken = singlePage.NextPageToken; // End snippet }
/// <summary>Snippet for GetMessageAsync</summary> public async Task GetMessageResourceNamesAsync() { // Snippet: GetMessageAsync(MessageName, CallSettings) // Additional: GetMessageAsync(MessageName, CancellationToken) // Create client MessagesClient messagesClient = await MessagesClient.CreateAsync(); // Initialize request argument(s) MessageName name = MessageName.FromProjectMessage("[PROJECT]", "[MESSAGE]"); // Make the request Message response = await messagesClient.GetMessageAsync(name); // End snippet }
/// <summary>Snippet for GetMessageAsync</summary> public async Task GetMessageAsync() { // Snippet: GetMessageAsync(string, CallSettings) // Additional: GetMessageAsync(string, CancellationToken) // Create client MessagesClient messagesClient = await MessagesClient.CreateAsync(); // Initialize request argument(s) string name = "projects/[PROJECT]/messages/[MESSAGE]"; // Make the request Message response = await messagesClient.GetMessageAsync(name); // End snippet }
/// <summary>Snippet for GetMessage</summary> public void GetMessageRequestObject() { // Snippet: GetMessage(GetMessageRequest, CallSettings) // Create client MessagesClient messagesClient = MessagesClient.Create(); // Initialize request argument(s) GetMessageRequest request = new GetMessageRequest { MessageName = MessageName.FromProjectMessage("[PROJECT]", "[MESSAGE]"), }; // Make the request Message response = messagesClient.GetMessage(request); // End snippet }
/// <summary>Snippet for CreateMessageAsync</summary> public async Task CreateMessageAsync() { // Snippet: CreateMessageAsync(string, Message, CallSettings) // Additional: CreateMessageAsync(string, Message, CancellationToken) // Create client MessagesClient messagesClient = await MessagesClient.CreateAsync(); // Initialize request argument(s) string parent = "projects/[PROJECT]"; Message message = new Message(); // Make the request Message response = await messagesClient.CreateMessageAsync(parent, message); // End snippet }
/// <summary>Snippet for CreateMessage</summary> public void CreateMessageRequestObject() { // Snippet: CreateMessage(CreateMessageRequest, CallSettings) // Create client MessagesClient messagesClient = MessagesClient.Create(); // Initialize request argument(s) CreateMessageRequest request = new CreateMessageRequest { ParentAsProjectName = ProjectName.FromProject("[PROJECT]"), Message = new Message(), }; // Make the request Message response = messagesClient.CreateMessage(request); // End snippet }
/// <summary>Snippet for CreateMessageAsync</summary> public async Task CreateMessageResourceNamesAsync() { // Snippet: CreateMessageAsync(ProjectName, Message, CallSettings) // Additional: CreateMessageAsync(ProjectName, Message, CancellationToken) // Create client MessagesClient messagesClient = await MessagesClient.CreateAsync(); // Initialize request argument(s) ProjectName parent = ProjectName.FromProject("[PROJECT]"); Message message = new Message(); // Make the request Message response = await messagesClient.CreateMessageAsync(parent, message); // End snippet }
/// <summary>Snippet for CreateMessageAsync</summary> public async Task CreateMessageRequestObjectAsync() { // Snippet: CreateMessageAsync(CreateMessageRequest, CallSettings) // Additional: CreateMessageAsync(CreateMessageRequest, CancellationToken) // Create client MessagesClient messagesClient = await MessagesClient.CreateAsync(); // Initialize request argument(s) CreateMessageRequest request = new CreateMessageRequest { ParentAsProjectName = ProjectName.FromProject("[PROJECT]"), Message = new Message(), }; // Make the request Message response = await messagesClient.CreateMessageAsync(request); // End snippet }
public async Task UpdateMessagesFromApiByIds(int dialogId, IReadOnlyCollection <int> messagesIds) { var dialog = FirstOrDefaultWithLock(dialogId); if (dialog == null) { return; } var collection = dialog.Messages; var newMessages = await MessagesClient.GetMessagesByIds(messagesIds); if (newMessages.Any()) { AddUpdateMessagesInCollection(dialogId, newMessages, dialog.UnreadCount, false); await DurableCacheManager.SaveMessages(dialog.Id, collection).ConfigureAwait(false); } }
/// <summary>Snippet for ListMessages</summary> public void ListMessagesResourceNames() { // Snippet: ListMessages(ProjectName, string, int?, CallSettings) // Create client MessagesClient messagesClient = MessagesClient.Create(); // Initialize request argument(s) ProjectName parent = ProjectName.FromProject("[PROJECT]"); // Make the request PagedEnumerable <ListMessagesResponse, Message> response = messagesClient.ListMessages(parent); // Iterate over all response items, lazily performing RPCs as required foreach (Message item in response) { // Do something with each item Console.WriteLine(item); } // Or iterate over pages (of server-defined size), performing one RPC per page foreach (ListMessagesResponse page in response.AsRawResponses()) { // Do something with each page of items Console.WriteLine("A page of results:"); foreach (Message item in page) { // Do something with each item Console.WriteLine(item); } } // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required int pageSize = 10; Page <Message> singlePage = response.ReadPage(pageSize); // Do something with the page of items Console.WriteLine($"A page of {pageSize} results (unless it's the final page):"); foreach (Message item in singlePage) { // Do something with each item Console.WriteLine(item); } // Store the pageToken, for when the next page is required. string nextPageToken = singlePage.NextPageToken; // End snippet }
public async Task UpdateMessagesFromApi(int dialogId, int?offset = null) { var dialog = FirstOrDefaultWithLock(dialogId); if (dialog == null) { return; } var collection = dialog.Messages; var newMessages = await MessagesClient.GetMessages(dialog.Id, offset); if (newMessages.Any()) { var isNewestMessagesBatch = offset == null; AddUpdateMessagesInCollection(dialogId, newMessages, dialog.UnreadCount, isNewestMessagesBatch); await DurableCacheManager.SaveMessages(dialog.Id, collection).ConfigureAwait(false); } }
public async Task MessageSample() { // Instantiate a new QueueServiceClient using a connection string. QueueServiceClient queueServiceClient = new QueueServiceClient(TestConfigurations.DefaultTargetTenant.ConnectionString); // Instantiate a new QueueClient QueueClient queueClient = queueServiceClient.GetQueueClient("myqueue2"); try { // Create your new Queue in the service await queueClient.CreateAsync(); // Instantiate a new MessagesClient MessagesClient messagesClient = queueClient.GetMessagesClient(); // Enqueue a message to the queue Response <IEnumerable <EnqueuedMessage> > enqueueResponse = await messagesClient.EnqueueAsync("my message"); // Peek message Response <IEnumerable <PeekedMessage> > peekResponse = await messagesClient.PeekAsync(); // Instantiate a new MessageIdClient MessageIdClient messageIdClient = messagesClient.GetMessageIdClient(enqueueResponse.Value.First().MessageId); // Update message await messageIdClient.UpdateAsync("new message", enqueueResponse.Value.First().PopReceipt); // Dequeue message Response <IEnumerable <DequeuedMessage> > dequeueResponse = await messagesClient.DequeueAsync(); // Delete Message await messageIdClient.DeleteAsync(dequeueResponse.Value.First().PopReceipt); } finally { // Delete your Queue in the service await queueClient.DeleteAsync(); } }
public async Task DeleteMessage(int dialogId, int messageId) { await MessagesClient.DeleteMessage(messageId); var dialog = FirstOrDefaultWithLock(dialogId); if (dialog == null) { return; } var collection = dialog.Messages; lock (collection) { var message = collection.FirstOrDefault(e => e.Id == messageId); if (message != null) { collection.Remove(message); } } }
protected internal MessagingClient(MisskeyClient client) : base(client, "messaging") { Messages = new MessagesClient(client); }