public static async void MessageUser(object sender, RoutedEventArgs e) { string channelid = null; foreach (var dm in LocalState.DMs) { if (dm.Value.Type == 1 && dm.Value.Users.FirstOrDefault()?.Id == (sender as MenuFlyoutItem).Tag.ToString()) { channelid = dm.Value.Id; } } if (channelid == null) { channelid = (await RESTCalls.CreateDM(new DiscordAPI.API.User.Models.CreateDM() { Recipients = new List <string>() { (sender as MenuFlyoutItem).Tag.ToString() }.AsEnumerable() })).Id; } if (string.IsNullOrEmpty(channelid)) { return; } App.SelectGuildChannel("@me", channelid); }
private async void SendMessageLink_Click(object sender, RoutedEventArgs e) { CloseButton_Click(null, null); string channelid = null; foreach (var dm in LocalState.DMs) { if (dm.Value.Type == 1 && dm.Value.Users.FirstOrDefault()?.Id == userid) { channelid = dm.Value.Id; } } if (channelid == null) { channelid = (await RESTCalls.CreateDM(new API.User.Models.CreateDM() { Recipients = new List <string>() { (sender as MenuFlyoutItem).Tag.ToString() }.AsEnumerable() })).Id; } if (string.IsNullOrEmpty(channelid)) { return; } App.SelectDMChannel(channelid); }
protected override async void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); var contactManager = new ContactManager(); ContactPanelActivatedEventArgs panelArgs = (ContactPanelActivatedEventArgs)e.Parameter; string userID = await contactManager.ContactIdToRemoteId(panelArgs.Contact.Id); string DmChannelID = LocalState.DMs ?.FirstOrDefault(dm => dm.Value?.Type == 1 && dm.Value.Users.FirstOrDefault()?.Id == userID).Value?.Id ?? (await RESTCalls.CreateDM(new CreateDM { Recipients = new List <string> { userID }.AsEnumerable() })).Id; MessageBody.MyPeopleChannelId = DmChannelID; }