DirectInboxUc GetDirectInboxUc(InstaDirectInboxThread thread) { var uc = new DirectInboxUc { Name = (Rnd.Next(11111, 999999) + Rnd.Next(10000, 999999)).ToString(), Thread = thread, IsRightTapEnabled = true, IsHoldingEnabled = true }; uc.RightTapped += UcRightTapped; uc.Holding += UcHolding; var deleteMenuFlyoutItem = new MenuFlyoutItem { DataContext = thread, Text = "Delete" }; deleteMenuFlyoutItem.Click += DeleteMenuFlyoutItemClick; var mediaFlyout = new MenuFlyout { Items = { deleteMenuFlyoutItem, } }; uc.ContextFlyout = mediaFlyout; return(uc); }
public async void SetThread(InstaDirectInboxThread directInboxThread) { CurrentThread = directInboxThread; try { Items.Clear(); if (directInboxThread.Items.Count == 0) { var result = await InstaApi.MessagingProcessor .GetDirectInboxThreadAsync(directInboxThread.ThreadId, PaginationParameters.MaxPagesToLoad(1), Views.Direct.InboxView.Current?.InboxVM?.SeqId ?? 0); if (result.Succeeded) { directInboxThread.Items.AddRange(result.Value.Items); } } var items = directInboxThread.Items; items.Reverse(); items.ForEach(x => Items.Insert(0, x)); } catch { } //if (CurrentThread.Items?.Count > 0) //{ // CurrentThread.Items.Reverse(); // CurrentThread.Items.ForEach(x => Items.Add(x)); // if (!any) // ListView.ScrollIntoView(Items[Items.Count - 1]); //} }
void SetThread(InstaDirectInboxThread thread) { try { if (thread != null) { UsersGrid.Children.Clear(); AddUsers(thread.Users); if (thread.ThreadId.Contains("FAKETHREAD")) { Title = thread.Users[0].UserName; FullName = thread.Users[0].FullName; } else { Title = thread.Title; } if (thread.Users == null || thread.Users?.Count == 0) { if (thread.Inviter != null) { thread.Users.Add(thread.Inviter.ToUserShortFriendship()); if (string.IsNullOrEmpty(thread.Title)) { thread.Title = thread.Inviter.UserName.ToLower(); } } } } } catch { } UsersGrid.UpdateLayout(); }
void Sets(InstaDirectInboxThread thread) { try { if (thread != null) { UsersGrid.Children.Clear(); AddUsers(thread.Users); if (thread.Users == null || thread.Users?.Count == 0) { if (thread.Inviter != null) { thread.Users.Add(thread.Inviter.ToUserShortFriendship()); if (string.IsNullOrEmpty(thread.Title)) { thread.Title = thread.Inviter.UserName.ToLower(); } } } if (thread.Items?.LastOrDefault() != null) { UpdateItem(thread.Items.LastOrDefault()); } } } catch { } UsersGrid.UpdateLayout(); }
async Task SendDirectProfileToRecipients(InstaDirectInboxThread thread) { try { if (thread.Title.Contains("FAKETHREAD")) { var userIds = new List <long>(); foreach (var user in thread.Users) { userIds.Add(user.Pk); } var shareProfile = await Helper.InstaApi.MessagingProcessor .SendDirectProfileToRecipientsAsync(UserProfile.Pk, string.Join(",", userIds)); if (!string.IsNullOrEmpty(MessageText.Text)) { await Helper.InstaApi.MessagingProcessor.SendDirectTextAsync(string.Join(",", userIds), null, MessageText.Text); } } else { var shareProfile = await Helper.InstaApi.MessagingProcessor .SendDirectProfileAsync(UserProfile.Pk, new string[] { thread.ThreadId }); if (!string.IsNullOrEmpty(MessageText.Text)) { await Helper.InstaApi.MessagingProcessor.SendDirectTextAsync(null, thread.ThreadId, MessageText.Text); } } } catch { } }
UserDialogUc GetUserDialogUc(InstaDirectInboxThread thread) { var uc = new UserDialogUc { Name = (Rnd.Next(11111, 999999) + Rnd.Next(10000, 999999)).ToString(), Thread = thread, //IsRightTapEnabled = true, //IsHoldingEnabled = true }; //var deleteMenuFlyoutItem = new MenuFlyoutItem //{ // DataContext = thread, // Text = "Delete" //}; //deleteMenuFlyoutItem.Click += DeleteMenuFlyoutItemClick; //var mediaFlyout = new MenuFlyout //{ // Items = // { // deleteMenuFlyoutItem, // } //}; //FlyoutBase.SetAttachedFlyout(uc, mediaFlyout); return(uc); }
public DeleteThreadDialog(InstaDirectInboxThread thread) { this.InitializeComponent(); Thread = thread; txtTitle.Text = thread.Title; UserImage.Fill = thread.Users[0].ProfilePicture.GetImageBrush(); }
async Task SendLive(InstaDirectInboxThread thread) { try { if (thread.Title.Contains("FAKETHREAD")) { var userIds = new List <long>(); foreach (var user in thread.Users) { userIds.Add(user.Pk); } await Helper.InstaApi.LiveProcessor .ShareLiveToDirectRecipientAsync("", Broadcast.Id, string.Join(",", userIds)); if (!string.IsNullOrEmpty(MessageText.Text)) { await Helper.InstaApi.MessagingProcessor.SendDirectTextAsync(string.Join(",", userIds), null, MessageText.Text); } } else { await Helper.InstaApi.LiveProcessor .ShareLiveToDirectThreadAsync("", Broadcast.Id, new string[] { thread.ThreadId }); if (!string.IsNullOrEmpty(MessageText.Text)) { await Helper.InstaApi.MessagingProcessor.SendDirectTextAsync(null, thread.ThreadId, MessageText.Text); } } } catch { } }
DirectInboxUc GetDirectInboxUc(InstaDirectInboxThread thread) { return(new DirectInboxUc { Name = (Rnd.Next(11111, 999999) + Rnd.Next(10000, 999999)).ToString(), Thread = thread }); }
private static bool DoesThreadContainNewData(InstaDirectInboxThread thread) { if (!ThreadStatus.TryGetValue(thread.ThreadId, out var lastAnnounceActivity)) { ThreadStatus.Add(thread.ThreadId, StartupTime); } return(lastAnnounceActivity != thread.LastActivity); }
DirectInboxUc GetDirectInboxUc(InstaDirectInboxThread thread) { var uc = new DirectInboxUc { Name = (Rnd.Next(11111, 999999) + Rnd.Next(10000, 999999)).ToString(), Thread = thread, IsRightTapEnabled = true, IsHoldingEnabled = true }; return(uc); }
protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); NavigationMode = e.NavigationMode; if (e.NavigationMode == NavigationMode.New) { GetType().RemovePageFromBackStack(); } if (e.Parameter != null && e.Parameter is InstaDirectInboxThread thread) { Thread = thread; } }
void Append(InstaDirectInboxThread thread, bool first = true, int index = -1) { if (first) { Items.Add(GetDirectInboxUc(thread)); return; } //if (!Items.Any(x => x.Thread.ThreadId.ToLower() == thread.ThreadId.ToLower())) // Items.Insert(0, GetDirectInboxUc(thread)); //else //{ // var item = Items.FirstOrDefault(x => x.Thread.ThreadId == thread.ThreadId); // var findIndex = Items.IndexOf(item); // if (index < Items.Count && index != -1 && findIndex != index) // Items.Move(findIndex, index); //} }
public async void Start(InstaDirectInboxThread thread) { CurrentThread = thread; await _recordQueue.Enqueue(async() => { if (_recorder != null) { RecordingFailed?.Invoke(this, EventArgs.Empty); return; } var fileName = string.Format("voice_{0:yyyy}-{0:MM}-{0:dd}_{0:HH}-{0:mm}-{0:ss}.mp3", DateTime.Now); var cache = await localFolder.CreateFileAsync(fileName, CreationCollisionOption.GenerateUniqueName); try { _file = cache; _recorder = new Mp3Recorder(cache) { m_mediaCapture = new MediaCapture() }; await _recorder.m_mediaCapture.InitializeAsync(/*_recorder.settings*/); await _recorder.StartAsync(); _start = DateTime.Now; } catch (Exception ex) { _recorder.Dispose(); _recorder = null; _file = null; RecordingFailed?.Invoke(this, EventArgs.Empty); return; } RecordingStarted?.Invoke(this, EventArgs.Empty); }); }
public void SetThread(InstaDirectInboxThread directInboxThread) { CurrentThread = directInboxThread; try { Items.Clear(); var items = directInboxThread.Items; items.Reverse(); items.ForEach(x => Items.Insert(0, x)); } catch { } //if (CurrentThread.Items?.Count > 0) //{ // CurrentThread.Items.Reverse(); // CurrentThread.Items.ForEach(x => Items.Add(x)); // if (!any) // ListView.ScrollIntoView(Items[Items.Count - 1]); //} }
protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); if (e.NavigationMode == NavigationMode.New) { GetType().RemovePageFromBackStack(); } try { if (e.Parameter != null && e.Parameter is object[] obj) { CurrentThread = obj[0] as InstaDirectInboxThread; InboxItem = obj[1] as InstaDirectInboxItem; } } catch { } }
public async Task doCommand(InstaDirectInboxThread thread) { if (thread.Items.Last().UserId == API.api.GetCurrentUserAsync().Result.Value.Pk) { return; } if (thread.Items.Last().ItemType != InstaDirectThreadItemType.Text) { return; } if (thread.IsGroup) { Logging.log(thread.Title + ": " + thread.Items.Last().Text); await APIFunctions.sendDMID(thread.ThreadId, CommandProcess.Proccess(thread.Items.Last(), thread)); } else { Logging.log(thread.Users.FirstOrDefault().UserName + ": " + thread.Items.Last().Text); await APIFunctions.sendDM(thread.Users.FirstOrDefault().UserName, CommandProcess.Proccess(thread.Items.Last(), thread)); } }
DirectInboxUc GetDirectInboxUc(InstaDirectInboxThread thread) { var uc = new DirectInboxUc { Name = (Rnd.Next(11111, 999999) + Rnd.Next(10000, 999999)).ToString(), Thread = thread, IsRightTapEnabled = true, IsHoldingEnabled = true }; uc.RightTapped += UcRightTapped; uc.Holding += UcHolding; //<FlyoutBase.AttachedFlyout> // <MenuFlyout Placement="Top"> // <MenuFlyoutItem Text="Unsend Message" // DataContext="{Binding}" // Click="UnsendMessageFlyoutClick" /> // <MenuFlyoutItem Text="Copy Text" // DataContext="{Binding}" // Click="CopyTextFlyoutClick" /> // </MenuFlyout> //</FlyoutBase.AttachedFlyout> var deleteMenuFlyoutItem = new MenuFlyoutItem { DataContext = thread, Text = "Delete" }; deleteMenuFlyoutItem.Click += DeleteMenuFlyoutItemClick; var mediaFlyout = new MenuFlyout { Items = { deleteMenuFlyoutItem, } }; FlyoutBase.SetAttachedFlyout(uc, mediaFlyout); return(uc); }
async Task SendDirectFelixShare(InstaDirectInboxThread thread) { try { if (thread.Title.Contains("FAKETHREAD")) { var userIds = new List <string>(); foreach (var user in thread.Users) { userIds.Add(user.Pk.ToString()); } var felixShare = await Helper.InstaApi.MessagingProcessor .SendDirectFelixShareAsync(Media.InstaIdentifier, MessageText.Text, null, userIds.ToArray()); } else { var felixShare = await Helper.InstaApi.MessagingProcessor .SendDirectFelixShareAsync(Media.InstaIdentifier, MessageText.Text, new string[] { thread.ThreadId }, null); } } catch { } }
async Task ShareStory(InstaDirectInboxThread thread, InstaSharingType type) { try { if (thread.Title.Contains("FAKETHREAD")) { var userIds = new List <long>(); foreach (var user in thread.Users) { userIds.Add(user.Pk); } var shareStory = await Helper.InstaApi.StoryProcessor.ShareStoryAsync(ReelFeed.Id, StoryItem.Id, null, userIds.ToArray(), MessageText.Text, type); } else { var shareStory = await Helper.InstaApi.StoryProcessor.ShareStoryAsync(ReelFeed.Id, StoryItem.Id, new string[] { thread.ThreadId }, null, MessageText.Text, type); } } catch { } }
async Task ShareMediaToUser(InstaDirectInboxThread thread, InstaMediaType type) { try { if (thread.Title.Contains("FAKETHREAD")) { var userIds = new List <long>(); foreach (var user in thread.Users) { userIds.Add(user.Pk); } var shareToUsers = await Helper.InstaApi.MessagingProcessor.ShareMediaToUserAsync(Media.InstaIdentifier, type, MessageText.Text, CarouselChildMediaId, userIds.ToArray()); } else { var shareToUsers = await Helper.InstaApi.MessagingProcessor.ShareMediaToThreadAsync(Media.InstaIdentifier, type, MessageText.Text, CarouselChildMediaId, new string[] { thread.ThreadId }); } } catch { } }
public async void UploadSinglePhoto(StorageFile File, string threadId, string recipient, InstaInboxMedia mediaShare, InstaDirectInboxThread thread, InstaDirectInboxItem inboxItem) { Thread = thread; MediaShare = mediaShare; UploadId = GenerateUploadId(); ThreadId = threadId; Recipient = recipient; Item = inboxItem; var photoHashCode = Path.GetFileName(File.Path ?? $"C:\\{13.GenerateRandomStringStatic()}.jpg").GetHashCode(); var photoEntityName = $"{UploadId}_0_{photoHashCode}"; var instaUri = GetUploadPhotoUri(UploadId, photoHashCode); var device = InstaApi.GetCurrentDevice(); var httpRequestProcessor = InstaApi.HttpRequestProcessor; BackgroundUploader BGU = new BackgroundUploader(); var cookies = httpRequestProcessor.HttpHandler.CookieContainer.GetCookies(httpRequestProcessor.Client.BaseAddress); var strCookies = string.Empty; foreach (Cookie cook in cookies) { strCookies += $"{cook.Name}={cook.Value}; "; } // header haye asli in ha hastan faghat BGU.SetRequestHeader("Cookie", strCookies); var r = InstaApi.HttpHelper.GetDefaultRequest(HttpMethod.Post, instaUri, device); foreach (var item in r.Headers) { BGU.SetRequestHeader(item.Key, string.Join(" ", item.Value)); } //{ // "upload_id": "1595581225629", // "media_type": "1", // "retry_context": "{\"num_reupload\":0,\"num_step_auto_retry\":0,\"num_step_manual_retry\":0}", // "image_compression": "{\"lib_name\":\"moz\",\"lib_version\":\"3.1.m\",\"quality\":\"0\"}", // "xsharing_user_ids": "[\"1647718432\",\"1581245356\"]" //} var photoUploadParamsObj = new JObject { { "upload_id", UploadId }, { "media_type", "1" }, { "retry_context", GetRetryContext() }, { "image_compression", "{\"lib_name\":\"moz\",\"lib_version\":\"3.1.m\",\"quality\":\"0\"}" }, { "xsharing_user_ids", $"[{recipient ?? string.Empty}]" }, }; var photoUploadParams = JsonConvert.SerializeObject(photoUploadParamsObj); long fileLength = 0; using (var openedFile = await File.OpenAsync(FileAccessMode.Read)) fileLength = openedFile.AsStream().Length; BGU.SetRequestHeader("X_FB_PHOTO_WATERFALL_ID", Guid.NewGuid().ToString()); BGU.SetRequestHeader("X-Entity-Length", fileLength.ToString()); BGU.SetRequestHeader("X-Entity-Name", photoEntityName); BGU.SetRequestHeader("X-Instagram-Rupload-Params", photoUploadParams); BGU.SetRequestHeader("X-Entity-Type", "image/jpeg"); BGU.SetRequestHeader("Offset", "0"); BGU.SetRequestHeader("Content-Transfer-Encoding", "binary"); BGU.SetRequestHeader("Content-Type", "application/octet-stream"); // hatman bayad noe file ro moshakhas koni, mese in zirie> oun PHOTO mishe name // requestContent.Add(imageContent, "photo", $"pending_media_{ApiRequestMessage.GenerateUploadId()}.jpg"); // vase video nemikhad esmi bezari! //BackgroundTransferContentPart filePart = new BackgroundTransferContentPart(/*"photo"*/); //filePart.SetFile(File); //// chon binary hast: //filePart.SetHeader("Content-Transfer-Encoding", "binary"); //filePart.SetHeader("Content-Type", "application/octet-stream"); //var parts = new List<BackgroundTransferContentPart> //{ // filePart //}; Debug.WriteLine("----------------------------------------Start upload----------------------------------"); //var uploadX = await BGU.CreateUploadAsync(instaUri, parts, "", UploadId); var upload = BGU.CreateUpload(instaUri, File); upload.Priority = BackgroundTransferPriority.High; await HandleUploadAsync(upload, true); }
public static string Proccess(InstaDirectInboxItem item, InstaDirectInboxThread thread) { Constants.reqCount++; string cmd = item.Text.ToLower(); string q = "\""; if (cmd == "ping") { var now = DateTime.Now; var timetook = now.Subtract(item.TimeStamp); return($"Command sent at {item.TimeStamp.TimeOfDay} and recieved at {now.TimeOfDay.ToString("hh\\:mm\\:ss")}" + Environment.NewLine + $"API Latency: {(int)timetook.TotalMilliseconds}ms" + Environment.NewLine + $"TTP including latency: {(int)timetook.TotalMilliseconds * 2}ms"); } if (cmd == "like") { var posts = API.api.UserProcessor.GetUserMediaByIdAsync(item.UserId, PaginationParameters.Empty).Result.Value; if (posts.FirstOrDefault() == null) { return("You dont have any posts or you have not accepted the follow request."); } var like = API.api.MediaProcessor.LikeMediaAsync(posts.FirstOrDefault().Pk); return("NGL thats pretty desperate if your getting a bot to like your posts"); } if (cmd == "stats") { var uptime = DateTime.Now.Subtract(Constants.started); return($"Uptime: {uptime.Hours}h {uptime.Minutes}m {uptime.Seconds}s" + Environment.NewLine + $"Total requests served: {Constants.reqCount}"); } if (cmd.StartsWith("whois")) { var parts = cmd.Split(' '); if (parts.Length == 1) { return($"Please provide a user parameter. E.g. {q}whois ktechsys{q}"); } var profile = API.api.UserProcessor.GetUserInfoByUsernameAsync(parts[1]); if (profile.Result.Value == null) { return("User does not exist."); } var nl = Environment.NewLine; var data = profile.Result.Value; var json = new JavaScriptSerializer().Serialize(data); var requester = API.api.UserProcessor.GetUserInfoByIdAsync(item.UserId).Result.Value.Username; APIFunctions.sendDM(profile.Result.Value.Username, $"A whois lookup was requested on your account by user {requester}"); var ID = Pastebin(json, Constants.devkey).Split(new[] { ".com/" }, StringSplitOptions.None)[1]; var link = $"https://pastebin.com/raw/{ID}"; API.api.MessagingProcessor.SendDirectLinkAsync("Click the link below to view results", link, thread.ThreadId); return("Please be aware they have been informed of the lookup"); } if (cmd == "source") { API.api.MessagingProcessor.SendDirectLinkAsync("Click the link below to go to github", "https://github.com/NateKomodo/InstagramBot", thread.ThreadId); return(null); } if (cmd == "help") { return("Komosys help: " + Environment.NewLine + $"{q}ping{q} - gets message response times" + Environment.NewLine + $"{q}like{q} - likes your most recent post" + Environment.NewLine + $"{q}stats{q} - gets stats about current bot session" + Environment.NewLine + $"{q}whois <name>{q} - performs instagram lookup on a person" + Environment.NewLine + $"{q}source{q} - sends link to source code" + Environment.NewLine + $"{q}help{q} - displays this" + Environment.NewLine + "NOTE: Due to API response times, commands may take up to 5s to process"); } return($"Unknown command, type {q}help{q} for help"); }
public async void SetDirectItem(InstaDirectInboxThread thread, InstaDirectInboxItem item, ProgressVoice progressVoice, ToggleButton /*AppBarButton*/ button) { if (item == null) { return; } try { FasterModeButton.IsChecked = false; } catch { } try { if (CurrentDirectInboxItem != null) { if (CurrentDirectInboxItem.ItemId == item.ItemId) { try { Visibility = Visibility.Visible; } catch { } if (MainPage.Current.ME.CurrentState == MediaElementState.Paused) { Play(); } else { Pause(); } return; } } if (VoicePlayPauseButton != null) { VoicePlayPauseButton.Tag /*Content*/ = Helper.PlayMaterialIcon; } ProgressVoice = progressVoice; await Task.Delay(200); CurrentDirectInboxItem = item; VoicePlayPauseButton = button; var date = item.TimeStamp; var textDate = $"{date.ToString("MMM", CultureInfo.InvariantCulture)} {date.Day} at {date.ToString("hh:mm tt")}"; txtTime.Text = "00:00"; if (item.UserId == Helper.CurrentUser.Pk) { txtInfo.Text = $"You {textDate}"; } else { var user = thread.Users.FirstOrDefault(x => x.Pk == item.UserId); if (user == null) { txtInfo.Text = $"{textDate}"; } else { txtInfo.Text = $"{user.UserName} {textDate}"; } } } catch { } try { MainPage.Current.ME.PlaybackRate = 1.00; } catch { } try { MainPage.Current.ME.Source = new Uri(CurrentDirectInboxItem.VoiceMedia.Media.Audio.AudioSource); } catch { } try { Visibility = Visibility.Visible; } catch { } }
public InboxThreadView(InstaDirectInboxThread thread) { InitializeComponent(); this.thread = thread; }