Beispiel #1
0
        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);
        }
Beispiel #3
0
        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;
        }