- handle NoneType for owner_name in feel job
- wrong indentation for hashtag check in feed job
- OCR to read the post owner if the obj is missing in the feed job (optional)
restart-atx-agent: bool
to restart the atx-agent before starting the botkill-atx-agent: bool
to kill the atx-agent when the script ends
- feed sponsored detection
- Telegram wrong keys and order
- message in telegram now looks more like it did before pandas were removed
- improved telegram test
- account selecting
- function specialization for load and clean txt file
- better logging for the user
- test for load and clean txt file
- remove pandas as dependency for telegram reports
- show when config file and filter file have been saved
- better logging information
- removed the language check
- using the monkey approach until this bug is fixed openatx/atx-agent#111
- get rid of Activity class when starting app
- account selection with the little arrow instead of clicking on the account name
- display a warning if the user tries to use an untested version of IG
- fix selecting account if you have a lof of them, and it's not visible
- screen timeout checking for 'always on devices' (for example emulators)
- config loader in 'extra' folder
- allow to pass device to dump
- allot to don't to kill the demon while dumping
- deprecated method uiautomator2 side that cause that error:
AttributeError: 'Session or Device' object has no attribute '_is_alive'
- default value for
unfollow-delay
was an integer instead of a string - story_watcher returned Optional[Union[bool, int]] instead of int
unfollow
andunfollow-non-followers
now check for when you last interacted with each user. Using the argumentunfollow-delay
you can specify the number of days that have to have passed since the last interaction- after watching a story, the bot will now like it
- with
count-app-crashes
you can tell the bot to count app crashes as a crash fortotal-crashes-limit
(default False) - using the argument
remove-followers-from-file
, the bot can now remove followers following you from a *.txt
- when interacting with the last picture of a profile, the bot could crash
- following suggested people instead of target account
- missing block detection for full screen mode (video)
- profile is loaded false negative
- avoid re-watching content if like fails
- new way to search for targets in search menu
- no need to see limits for PM if you're not sending them
- code has been cleaned and some functions have been merged
- inspect current view for list of users, this will avoid pressing on bottom bar
- set the screen timeout to 5 minutes if it's less than this value to avoid screen off issues
- store the target source in json instead of a duplicate of the username
- store request and followed status in json (it uses to be only followed)
- using
app_current
insteadinfo
for checking if the app is opened - check for crash dialog when app crashes
- check if it's a live video before opening a story
- for actions with files (
interact-from-file
,unfollow-form-file
andremove-followers-from-file
) the script will look inside your account folder and no longer where you start the bot from
- bump version of UIA2
- trim logs in crash reports
- put your username inside the config when creating it with
gramaddict init username
- default value for
can-reinteract-after
is now "None" instead of "-1" - better logs when skipping profiles
app_id
was None for them who used the tool in a fancy way (without using config files)
- avoid a problem with
check_if_crash_popup_is_there
andchoose_cloned_app
being decorated before starting IG
- missing parenthesis in calling a method
- find the profile icon even with the different interface
- wrong arguments for stop_bot function
- workaround for avoiding story watching crash due to a bug of UIA2
- check if IG is opened when we try to find an element, raise an exception if it's not true (I used a decorator, for fun :D)
- simplify some functions
- move close_keyboard method to universal class
- a lot of typos
- some types hint
- inconsistent way to store datetime in json
- new argument
dont-type
allows writing text by pasting it instead of typing it - you can go next line in your PM by adding
\n
in the text
- the bot wasn't able to confirm the like if the button was not visible in the view
- don't show countdown in debug mode
- avoid pressing on music tab instead of hashtags (this bug was only for small screens)
- the bot restarts after a crash, except for some scenarios that will be highlighted
- carousel mid-point calculation was wrong (typo)
- in the new version (217..) the element for sorting following list has changed
- better info when min-following is used in unfollow actions, or you're trying to unfollow more people than the number you're following
- handle of malformed data in telegram-reports
- "back" in "Follow Back" is not uppercase anymore
- better handling for not loaded profiles
- missing argument in analytics report
- new logo for the readme.md
- added some useful info for the user
- use the cloned app instead the official, if the dialog box get displayed (this is currently supporter for MIUI devices)
- new filter options: interact_if_public and interact_if_private
- interact_only_private has been removed, delete it from your filters.yml
- limit check was wrong in interact_blogger plugin
- feed job was ignoring limits
- don't throw an error if config files *.yaml instead of *.yml are used
- likes_limit was referring to total_likes_limit and not current_likes_limit (that caused an error if you specify an interval)
- jobs have been split in "active-" and "unfollow-" jobs. That means, for example, that the bot won't stop the activity if it reached the likes limit, and you scheduled to unfollow.
- you can pass how many users have to be processed when working with *.text (unfollow-from-list and interact-from-list)
- bot flow improved
- feed job improvements
- looking for description improvements
- better handle of empty biographies
- showing session ending conditions at bot start
- countdown before starting, so you can check that everything is ok (filters and ending conditions)
- before starting, the bot will tell you the filters you are going to use (there is no spell check there, if you wrote them wrong they will be displayed there but not get considered)
- disable head notifications while the bot is running
- removed unnecessary argument in check_limit function
- removed some unnecessary classes in story view
- move Filter instance outside of plugins
- the parsing of the number of posts / followers / following could fail for someone
Full set of changes: 2.10.4...2.10.6
- 'NoneType' object has no attribute '_is_post_liked'
- removed a typo
Full set of changes: 2.10.4...2.10.5
- scraped is now counted as successful interaction
Full set of changes: 2.10.3...2.10.4
- the bot did not inform about the skip in case of the filter on mutual friends or on the link in bio
- false positive for link check in bio
Full set of changes: 2.10.2...2.10.3
- link in bio object exists even if it's empty
Full set of changes: 2.10.1...2.10.2
- someone in the world has a " ’ " as thousands separator instead of " , "
Full set of changes: 2.10.0...2.10.1
- you can control if comment carousels
- support for connect_adb_wifi uia2 method
- support for watching videos and check for already liked posts
- trying to close the android pop-up if ig crashes
- looking for the like button on the following video instead of the one being played
- comment fails on some media types
- checking media_type could fail
- empty files in unfollow from list job
- unfollow from list loop
- removed unexpected keyword argument in getFollowinCount method
- method connect_adb_wifi contained some errors
- was being imported nan by numpy instead of the math module
- ig is not opened but the bot tries to do operations
- video recording
- posts-from-file job improved and fixed
- little improvements to the module mode
Full set of changes: 2.9.2...2.10.0
- other incompatibilities in the latest IG version
Full set of changes: 2.9.1...2.9.2
- module version thanks to @patbengr
- if a username in *.txt file is not found, it will be appended to a *_not_found.txt
- from now, you can customize the session ending conditions
- compatibility with IG: 208.0.0.32.135
- cannot check the language of Ig if not at the top of the account
- handle an exception in case you start the bot without specifying the config file
- it could happen that you are not at the top of your main profile in some circumstances
- clean code for open and close ig
Full set of changes: 2.9.0...2.9.1
- new argument to control how many skips in jobs with posts (e.g.: hashtag-post-top) are allowed before moving to another source / job
- new job to unfollow people who are following you
- new filter for skipping accounts with banned biography language
- improved readability of the code and correct some typos
- moving sibling folders of run.py will no longer executed automatically
Full set of changes: 2.8.0...2.9.0
- new filters: 'skip_if_link_in_bio: true/false' and 'mutual_friends: a_number' min count
- new feature added: pre- and post-script execution
Full set of changes: 2.7.7...2.8.0
- place first post not found #208
- replace detect-block with disable-block-detection
- removed unneeded class and sort imports
Full set of changes: 2.7.6...2.7.7
- missing resource id for sorting following list
Full set of changes: 2.7.5...2.7.6
- new argument "detect_block: true/false" to enable/ disable block check after every action
- a better way to sort following list #207
- add debug info for swipes
- sort imports
Full set of changes: 2.7.4...2.7.5
- support for Ig v. 197.0.0.26.119
Full set of changes: 2.7.3...2.7.4
- sometimes the bot press on 'Switch IME' instead of open your profile
- automatic change in English locale stopped working
Full set of changes: 2.7.2...2.7.3
- bug in open post container when someone in your 'following list' has also liked the post
- lowered a little the swipe up in sorting
Following accounts
Full set of changes: 2.7.1...2.7.2
- you can dump your current screen with that command
gramaddict dump
- we don't need to click on an obj if we are already on it
Full set of changes: 2.7.0...2.7.1
- you can use spintax for comments and PM from now
- forgot to remove 'time_left' when calling print_telegram_reports at the end of all sessions
- in config-examples forgot 'comment_blogger' and fix typo in 'comment_blogger_following'
Full set of changes: 2.6.5...2.7.0
- the count of items in the carousels stopped at the first match
- from now on, every type of interaction is counted as successful and not just likes
Full set of changes: 2.6.4...2.6.5
- telegram-reports when out of working hours crashed
- improve update checking
- text improvement and typo corrections
Full set of changes: 2.6.3...2.6.4
- time left in telegram-reports was wrong
Full set of changes: 2.6.2...2.6.3
- there was a problem with likers list
- there was a problem with the way I moved the reports at the end of sessions
- the bot can recognize hashtag suggestions in feed
- telegram-reports improved
- typo in readme
Full set of changes: 2.6.1...2.6.2
- we can use an entry point from now
- correct a typo in telegram-reports
- improved the README
Full set of changes: 2.6.0...2.6.1
- you can run GramAddict from the command line for initializing your account folder with all the files needed
- add support for allow re-interaction after a given amount of hours
- too many
filters.yml is not loaded
- telegram-reports typo in report
- add support for viewers count where likes count is missing
- browse the carousel could fail in some circumstances
- completely rewrote the README.md
- donation alert when bot stops by pressing CTRL+C