Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Interact by location #131

Closed
zubus opened this issue Dec 7, 2020 · 6 comments
Closed

Interact by location #131

zubus opened this issue Dec 7, 2020 · 6 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@zubus
Copy link

zubus commented Dec 7, 2020

What would you like to be added: Interaction based on location

Why is this needed: To reach more specific people

@philip-ulrich
Copy link
Contributor

Can you help explain this? How do we limit based on location?

@zubus
Copy link
Author

zubus commented Dec 7, 2020

Maybe by browsing on https://www.instagram.com/explore/locations/ or regular instagram search but on location tab

@philip-ulrich
Copy link
Contributor

So you aren't necessarily wanting to limit who you interact with geographically, just where the post location is. Would you want it to act similar to hashtags where we can do likers as well as posts (coming in 1.2.0) or what were you envisioning?

@zubus
Copy link
Author

zubus commented Dec 7, 2020

similar to hashtags where we can do likers as well as posts

Yes, like this I think its the best option ;)

@philip-ulrich
Copy link
Contributor

Got it, thanks. I'll put this under the 1.3.0 milestone.

@philip-ulrich philip-ulrich added the enhancement New feature or request label Dec 7, 2020
@philip-ulrich philip-ulrich added this to To do in GramAddict Bot via automation Dec 7, 2020
@philip-ulrich philip-ulrich added this to the v1.3.0 milestone Dec 7, 2020
@Tkd-Alex Tkd-Alex moved this from To do to In progress in GramAddict Bot Dec 28, 2020
Tkd-Alex added a commit that referenced this issue Dec 28, 2020
…ce-likers-top , --place-likers-recent args.
Tkd-Alex added a commit that referenced this issue Dec 28, 2020
…ce-posts-top , --place-posts-recent args. - Move --interact-percentage in core-argument
@mastrolube mastrolube moved this from In progress to Done in GramAddict Bot Mar 5, 2021
mastrolube added a commit that referenced this issue Apr 4, 2021
That merge was broken, need to do a step back
mastrolube added a commit that referenced this issue May 4, 2021
* Fix follow (#109)

* add NOT_IN_LIST check for can_follow

* Update version.py

Co-authored-by: Philip Ulrich <philip@ulrich.life>

* 🎁 adding --debug flag (#105)

* 🐈 pause option when quitting (#115)

if you ctrl-c out, give an option to pause or quit.

* 🐈 improvements for hashtag-likers on older devices and memu (#112)

* following and follower filter (#106)

🎁 add filter - following
🎁 add filter - follower
🐈 refactor resource ids
Co-authored-by: Uğur Kellecioğlu <51965140+ugur-kellecioglu@users.noreply.github.com>

* Fix crash stories and private profile (#117)

🐛 add new resource ID for some devices.
🐛 add short sleep before checking if the screen is unlocked to reduce issues
🐛 modify story watching to reduce crashes
🐛 substitute the .down with .find that caused a crash
🐎 increase speed of things that don't need to be slow
🐈 slow down some views (e.g. recent hashtags) to reduce issues
📝 fix some issues with argument help not matching

* Fix --analytics Bugs with Missing Session Data (#103)

🐛 Fix analytics report when there is broken data
🐈 Include time in analytics report so you can generate multiple a day
🐈 Make pause better

* Changing to Pypi for Release (#118)

🐈 add files for pypi distro
🐛 fix errors related to resourceid refactor
🐛 fix unfollow after unfollowing a follower
🐎 sped up sleep after unfollow

* fixing bio expand (#120)

🐛 fix error on hashtag in biography

* noice (#121)

* 📝 typo

* speed multiplier and scrolls limit (#124)

🎁 add scroll repeat exiter
🎁 add speed multiplier

* Create interact_hashtag_posts.py

start point

* resolving conflicts

* resolving conflicts

* forget to remove old codes

forget to remove old codes

* small cleanups

* changing reference to old arguemnt name

* 😡 linting

* switching to get_value for session_state total_limits (#132)

* bugfixes + hashtag-post improve

- slow down a little bit the scroll speed from 0.3 to 0.4 min
- after liking post of an user, going back with the exact scroll (no longer unwanted refresh of the page)
- reunify some functions
- force_interact.dis updated
- likes_from_urls.py updated
Hashtag-post plug-in
- control if like in feed has successed otherwise single click
- if the view goes over the nickname of the owner for inertia, is not a problem anymore
- add the detect block in feed

* --hashtag-posts-top

-add the hashtag-posts-top feature

* black by hands

black by hands

* Update interact_hashtag_posts.py

fix lint

* Update interaction.py

imported but not used, removed

* Update interact_hashtag_posts.py

removed comment part and add one detect_block

* Update interact_hashtag_posts.py

:bug: forgot to end the loop when finish

TODO: "in each job we assume being on the top of the Profile tab already" is missing

* update readme (#125)

📝 add new logo
📝 add new demo
📝 update formatting and info

Co-authored-by: Arthur Silva <arthursilva.ee@gmail.com>

* add logic to handle unfollowing any-non-followers (#133)

* add logic to handle unfollowing any-non-followers
* updating unfollow arguments

* fixes and improvements

- add some good verbose for debugging
- current job info
- fix bug to handle another job and not in the main profile view
- fix picking same orgument if -recent and -top where used at the same session
- random swipe points

* - fix another bug if recent and top are used toghetter

- fix another bug if recent and top are used toghetter
- add random in y for swipe end point: the 1st point it better not to touch for now because it can likely go outside the scollable area (can be done by a little reworking)
-  fixed unfollow actions that don't goes back to profile views
- moved the swipe_points in a new class called "UniversalActions" because it's not related to a specif view

TODO: change the scroll behaviour for unfollow actions

* Update interact_hashtag_likers.py

fix lint

* bugfixes and improvements

- fix bug whit a swipe when trying to sort followers and there are "categories" in the view, so it can't find the obj
- added two missing resources
- improve the usability of _swipe_points()
- add an info when unfollowed someone
- add a sleep between two action in hashtag-posts

* Update interaction.py

- forgot to change that

* fixs

- fix session state
TODO add unfollow
- discovered that after sorting follower the screen get refreshed, so left a random swipe at beginnig, and move the swipe after the sorting
- removed one multiple verbose (for unfollow any)

* Get rid of possible inifinite loops (#135)

🐛 fix an infinite loop issue when running unfollow plugin.
🐛 remove other unnecessary `while True`loops

* fixes

- fix the changed class in the follow/unfollow button
- fix a typo that prevent for using hashtag-likers-top

* scrapping thing

new plugins that allows user to generate txt instead of interact with users.
You have only to add that key argument to run a screaping session.

TODO: extend to others plugin, for now I've inplemented only for actions-bloggers
improve the verbose: current status should't not display how many likes, follow and so on but only the number of scraping targets.

* config file update / uia1 support (#136)

🎁 add support for config files
🎁 add support for uia1
🎁 add support for cloned apps
🐛 fix follow button class
🐛 fix follow not count when profile private
🎁 add back optional fling support

Co-authored-by: Arthur Silva <arthursilva.ee@gmail.com>

* merge things

need to test..

* porting missing resources

porting missing resources

* Update action_unfollow_followers.py

black

* cleaning and fixing things

- fix bug in hashtag-post when the name of hashtag comes down over the owner name
- look in recent before type in handle blogger
- add misses resources
- cleaning
- lint some expressions

* Update views.py

* Update session_state.py

* Update interaction.py

* fixes (#143)

* fixing hashtag changes

* minor fixes

* updating verbiage on fling

* kill atx-agent and uia1

* Create interact_usernames.py (#128)

- 🎁 add feature - interact-usernames

* config updates (#145)

updating config file example and parameter names

* updating deployment info and file structure

* update varable name

* Hashtag-likers improvement (#147)

🐛 various fixes - does not need to be included in change log

* extend scraping to other plugins

extend scraping to other plugins:
- hashtag-likers
- hashtag-posts

* black

* adding additional instructions for deployment

* fixing parameters and deployment files

* scraping-mode available

Scraping-mode:
args: "--scraping-mode", "filename"
optional: "--total-scrape-limit", number [default=500]

* Update __init__.py

* change username according to configuration file loaded (#149)

🎁 add feature - check the provided username and switch if not on that profile

* updating version

* new core argument --delete-interacted-user (#150)

- new core argument --delete-interacted-user


Co-authored-by: Philip Ulrich <11166773+philip-ulrich@users.noreply.github.com>

* fix a bug if profile is private

fix a bug if profile is private

* change the argumento to scrape-to-file

change the argumento to scrape-to-file

* typo

* fixes and improvements

- add txt to gitignore
- change some colors to make it more readable
- fix a bug in report of scraped users displayed as dictionary
- limit for scrape is now the total interaction limit
- avoid liking post in feed in -hashtag-post mode when in scrape-to-file

* fix lint

* fix lint

* fix lint again lol

* fix bug when in not scrape mode

- fix bug when in not scrape mode
- add debug info when device back

* fix force_interact

* Update all-parameters.yml

* Update all-parameters.yml

* if check of private profile fails, swipe_to_fit_posts won't generate a crash anymore

- if check of private profile fails, swipe_to_fit_posts won't generate a crash anymore

* fixes

- fix force interact
- make interact_usernames works with scrape mod
- improve of swipe_points function: it will no more go outside the screen

* Strange issue with shell dumpsys window, no mDreamingLockscreen string

* 🎁 As request in #131 implemented: Interact by location (place). --place-likers-top , --place-likers-recent args.

* 🎁 As request in #131 implemented: Interact by location (place). --place-posts-top , --place-posts-recent args. - Move --interact-percentage in core-argument

* Create a single method handle_likers in core/interaction.py. And call from handle_place, handle_hashtag.

* Single _search method, It can be helpfully also in interact posts and liikkers

* Create a single method handle_posts in core/interaction.py. And call from handle_place, handle_hashtag.

* Fix recent switch in search method

* We don't need continue here

* 😡 pyflakes

* 😡 After merge current develop in-to this branch i had to black formatting all

* fix merge

* fix lint

* Update like_from_urls.py

* move the kill agent (#176)

move the kill agent in a better place

Co-authored-by: Philip Ulrich <11166773+philip-ulrich@users.noreply.github.com>

* 🐛 🐈 Check if recent tab exists and print the info box in case of: 'Recent posts from #hash are currently hidden because ...' (#173)

Co-authored-by: Philip Ulrich <11166773+philip-ulrich@users.noreply.github.com>

* 🐛 Fix hashtags search on LowerDPI devices + Check if the keyboard is open with adb (#172)

* Check if the keyboard is up with adb, then close and do a little swipe for search hashtags

* 😡 Black formatting

* 🐛 Related to LowerDPI, unable to found the FollowButton

* Add random sleep to make sure IG loads before searching for profile

* switch all keyboard closes to check if open and then close with back

* remove unused delta

* remove other unneeded code

Co-authored-by: Philip Ulrich <11166773+philip-ulrich@users.noreply.github.com>

* 🎁 More data in interacted_users.json - Add history_filters_users.json - Issue #139 - v1.3.0 (#170)

* 🎁 Big updated! Reference for #139 - Add in interacted_user.json a other useful info: liked, watched, followed, unfollowed, session_id. Next commit I'll add job_name and target

* 😡 Black formatting

* 🎁 #139 - Job name and target in interacted_user.json.

* 🎁 As request in #139 , the private flag is now in the file history_filters_users.json. 🐈 🐈 Improve of Filter class. Create a enum for skip reason, create a Profile class with all user data, save all this data in dedicated json. With this file we have a history of all datas and now we have a history why a user was skipped

* 🐛 ops, fixing a little bug

* 😡 formatted with black

Co-authored-by: Philip Ulrich <11166773+philip-ulrich@users.noreply.github.com>

* 🎁 NEW FEATURE: COMMENT POSTS (#156)

* Fix follow (#109)

* add NOT_IN_LIST check for can_follow

* Update version.py

Co-authored-by: Philip Ulrich <philip@ulrich.life>

* 🎁 adding --debug flag (#105)

* 🐈 pause option when quitting (#115)

if you ctrl-c out, give an option to pause or quit.

* 🐈 improvements for hashtag-likers on older devices and memu (#112)

* following and follower filter (#106)

🎁 add filter - following
🎁 add filter - follower
🐈 refactor resource ids
Co-authored-by: Uğur Kellecioğlu <51965140+ugur-kellecioglu@users.noreply.github.com>

* Fix crash stories and private profile (#117)

🐛 add new resource ID for some devices.
🐛 add short sleep before checking if the screen is unlocked to reduce issues
🐛 modify story watching to reduce crashes
🐛 substitute the .down with .find that caused a crash
🐎 increase speed of things that don't need to be slow
🐈 slow down some views (e.g. recent hashtags) to reduce issues
📝 fix some issues with argument help not matching

* Fix --analytics Bugs with Missing Session Data (#103)

🐛 Fix analytics report when there is broken data
🐈 Include time in analytics report so you can generate multiple a day
🐈 Make pause better

* Changing to Pypi for Release (#118)

🐈 add files for pypi distro
🐛 fix errors related to resourceid refactor
🐛 fix unfollow after unfollowing a follower
🐎 sped up sleep after unfollow

* fixing bio expand (#120)

🐛 fix error on hashtag in biography

* noice (#121)

* 📝 typo

* speed multiplier and scrolls limit (#124)

🎁 add scroll repeat exiter
🎁 add speed multiplier

* Create interact_hashtag_posts.py

start point

* resolving conflicts

* resolving conflicts

* forget to remove old codes

forget to remove old codes

* small cleanups

* changing reference to old arguemnt name

* 😡 linting

* switching to get_value for session_state total_limits (#132)

* bugfixes + hashtag-post improve

- slow down a little bit the scroll speed from 0.3 to 0.4 min
- after liking post of an user, going back with the exact scroll (no longer unwanted refresh of the page)
- reunify some functions
- force_interact.dis updated
- likes_from_urls.py updated
Hashtag-post plug-in
- control if like in feed has successed otherwise single click
- if the view goes over the nickname of the owner for inertia, is not a problem anymore
- add the detect block in feed

* --hashtag-posts-top

-add the hashtag-posts-top feature

* black by hands

black by hands

* Update interact_hashtag_posts.py

fix lint

* Update interaction.py

imported but not used, removed

* Update interact_hashtag_posts.py

removed comment part and add one detect_block

* Update interact_hashtag_posts.py

:bug: forgot to end the loop when finish

TODO: "in each job we assume being on the top of the Profile tab already" is missing

* update readme (#125)

📝 add new logo
📝 add new demo
📝 update formatting and info

Co-authored-by: Arthur Silva <arthursilva.ee@gmail.com>

* add logic to handle unfollowing any-non-followers (#133)

* add logic to handle unfollowing any-non-followers
* updating unfollow arguments

* fixes and improvements

- add some good verbose for debugging
- current job info
- fix bug to handle another job and not in the main profile view
- fix picking same orgument if -recent and -top where used at the same session
- random swipe points

* - fix another bug if recent and top are used toghetter

- fix another bug if recent and top are used toghetter
- add random in y for swipe end point: the 1st point it better not to touch for now because it can likely go outside the scollable area (can be done by a little reworking)
-  fixed unfollow actions that don't goes back to profile views
- moved the swipe_points in a new class called "UniversalActions" because it's not related to a specif view

TODO: change the scroll behaviour for unfollow actions

* Update interact_hashtag_likers.py

fix lint

* bugfixes and improvements

- fix bug whit a swipe when trying to sort followers and there are "categories" in the view, so it can't find the obj
- added two missing resources
- improve the usability of _swipe_points()
- add an info when unfollowed someone
- add a sleep between two action in hashtag-posts

* Update interaction.py

- forgot to change that

* fixs

- fix session state
TODO add unfollow
- discovered that after sorting follower the screen get refreshed, so left a random swipe at beginnig, and move the swipe after the sorting
- removed one multiple verbose (for unfollow any)

* Get rid of possible inifinite loops (#135)

🐛 fix an infinite loop issue when running unfollow plugin.
🐛 remove other unnecessary `while True`loops

* fixes

- fix the changed class in the follow/unfollow button
- fix a typo that prevent for using hashtag-likers-top

* config file update / uia1 support (#136)

🎁 add support for config files
🎁 add support for uia1
🎁 add support for cloned apps
🐛 fix follow button class
🐛 fix follow not count when profile private
🎁 add back optional fling support

Co-authored-by: Arthur Silva <arthursilva.ee@gmail.com>

* merge things

need to test..

* porting missing resources

porting missing resources

* Update action_unfollow_followers.py

black

* cleaning and fixing things

- fix bug in hashtag-post when the name of hashtag comes down over the owner name
- look in recent before type in handle blogger
- add misses resources
- cleaning
- lint some expressions

* Update views.py

* Update session_state.py

* fixes (#143)

* fixing hashtag changes

* minor fixes

* updating verbiage on fling

* kill atx-agent and uia1

* Create interact_usernames.py (#128)

- 🎁 add feature - interact-usernames

* config updates (#145)

updating config file example and parameter names

* updating deployment info and file structure

* update varable name

* Hashtag-likers improvement (#147)

🐛 various fixes - does not need to be included in change log

* adding additional instructions for deployment

* fixing parameters and deployment files

* change username according to configuration file loaded (#149)

🎁 add feature - check the provided username and switch if not on that profile

* updating version

* new core argument --delete-interacted-user (#150)

- new core argument --delete-interacted-user


Co-authored-by: Philip Ulrich <11166773+philip-ulrich@users.noreply.github.com>

* 🎁 NEW FEATURE: COMMENT POSTS

🎁 NEW FEATURE: COMMENT POSTS
put a sentence in separate lines in the file comments_list.txt, the script will choose randomly among them
New arguments:
--comment-percentage
comment given percentage of interacted users, 0 by default
--total-comments-limit
limit on total comments per session, disabled by default

-add the file comments_list.txt
-fix: sometimes the search of an user in search bar fails, with that change it miss anymore for me (views.py)
-add resources for accomplish the comment plugin
-report will consider comments
-fix: the +1 on total likes was in a wrong position, if it fails to like it will not count

* Update all-parameters.yml

* Update all-parameters.yml

* revert a stupid change :)

* typo

* fix merge error

* removing unused variable

* fixing lint

Co-authored-by: Philip Ulrich <philip@ulrich.life>
Co-authored-by: narkopolo <narkopolo@riseup.net>
Co-authored-by: Philip Ulrich <11166773+philip-ulrich@users.noreply.github.com>
Co-authored-by: Arthur Silva <arthursilva.ee@gmail.com>

* randomize jobs and truncate sources

* porting in dev atx kill and classes remove

* fix filter location bug

now you can have filter and comments in your profile directory

* do comments can be filtered by job nature

* remove ms in time reports

* change username fixes

* ups

* Update interact_blogger_post_likers.py

* merged the more data and the truncate list to scrape

merged the more data and the truncate list to scrape

* black things

* Update interact_blogger_post_likers.py

* merge and fixes

- merged everything
- fixed things
- refactoring according to the hashtag places
  (blogger followers not already did)

* fixed the changing language

* remove english exception

* Delete   testatore.seriale directory

ups

* fix end jobs etc

fix end jobs etc

* fix analytics

fix analytics

* some rewriting

some rewriting

* Add files via upload

* fix interact-username

but needs a rework :)

* Delete requirements_screen_record.txt

can't do from browser ..

* fix range percentage

fix range percentage

* 1.3.0b1

* hotfix

* fix the session state couting the sleep as well

* must be a list if only 1 par

must be a list if only 1 par

* some fixes

- commented the scrape-to-file in config example so the user will not use it acidentally
- make all comments True in filters example, I think it's more intuitive in that way. It shoud be ready to use..
- recreated the __init__.py because I learnt that their presence indicates to Python that the directories are modules.. ops!
- fix a problem of getting status of keyboard of old devices (try-except way)
- clean things

* hotfix and more

1.3.0b4

* fix navigation for old devices

maybe we will find other problems in other views..

* v1.3.0b5

v1.3.0b5

* 1.3.0b6

1.3.0b6: mutual changes, so not documented there

* return arguments for except fix

return arguments for except fix

* 1.3.0b6.1

Small bugfixes

* Update utils.py

* 1.3.0b7

* typo .. :S

* 1.3.0b8

* Update interaction.py

* v1.3.0b9

* reorganizing

* rearrange code a little bit

* forgot an argument

* fix parenthesis in comment check

* 1.3.0b9.1

in regex if we use the (?i) it's case insensitive, we don't need to add the [Ee]
upgrade the urllib3 to 1.26.3 for security reasons
try to avoid crashes when search for hashtags

* 1.3.0b10

* 1.3.0b10.1

* ops

* bis

* Keyboard check fail test (#186)

* test

* encoding fix

* Update device_facade.py

* Update version.py

* typo

* subprocess fix for linux

* v2.0

- code rewriting
- new features
- bug fixes

* small fixes in tab awaiting

* post scroll inprovements

* fixes and improvements

- fix bug follow-limit
- wholeday recognizon
- human type
- post scroll improvements

* Update session_state.py

* fixes

* Update interaction.py

* fix lint + errors if things are not setting right

fix lint + error if things are not setting right

* fix lint

* fix failing post open and follow limit blogger

fix bug when failing open post
fix follow limit for interact blogger
clean

* v2.0.0b1

fix a position of a random sleep for preventing skipping likers of a post

* v2.0.0b2

- reorganize the code
- add beta check
- fix a missed click before type
- refresh account at start
- if searchbar not loaded, retry
- custom click

* 2.0.0b3

- matplotlib back to 3.3.3 from 3.4.1
- error return a tuple
- from position of an argument

* v2.0.0b4

- new argument total-unfollows-limit
- unfolow from list
- unfollow any asnd followed by script improved
- crash name related to version
- minor bug fixes

* fix lint

NaN from numpy is the same as nan from math.. I guess

* Update device_facade.py

:angry:

* 2.0.0b5

-fix confirm dialog detected as block :S

* 2.0.0b6

- old type if the new fails
- some goodnees for feed interactions

* Tabproblem (#194)

* tab bar is not present.. little hack

* tab test

- tab second try
- variable not declared

* tab not present fix

tab not present fix

* ssd fix

* v2.0.0b8

- fix open likers if it shows "number likes" instead of "nickname and others"

* v2.0.0b9

- show limit reached  log in unfollow
- sometimes after the refresh of the account the view goes a little bit down, little swipe up in that case should prevent this problem

* v2.0.0b10

- new follow status: None. Prevent error if follow button is not present
- mitigate false clicks while interacting with list
- version check improvement

* v2.0.0b10

- move username folders to a main folder accounts
- clean .gitignore
- some usefull logging
- save sessions among sleeps
- fix a problem with unfollows (raw)

* v2.0.0b11

- better checking version (bot and IG)
- some usefull links
- back from find_namespace_packages to find_packages

* v2.0.0b12

- usefull total counting
- double search for adb devices
- rewrote the safe click code for open likers

* v2.0.0b13

- send pm to private accounts: "pm_to_private_or_empty": true/false in filter.json
- remove a not necessary action with the keyboard
- interact with feed is not longer affected by "already interacted". when database will be ready we could improve that
- fix a problem in feed that could cause loops
- added a refresh before starting interact with feed

* v2

Co-authored-by: Philip Ulrich <philip@ulrich.life>
Co-authored-by: narkopolo <narkopolo@riseup.net>
Co-authored-by: Philip Ulrich <11166773+philip-ulrich@users.noreply.github.com>
Co-authored-by: Arthur Silva <arthursilva.ee@gmail.com>
Co-authored-by: Alessandro Maggio <alex.tkd.alex@gmail.com>
@mastrolube
Copy link
Contributor

#196 done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Development

No branches or pull requests

4 participants