Hey all,
I've written my own reddit upvote/downvote bot, but I'm having trouble getting it off the ground, mainly because my votes don't seem to register and some of my accounts are getting banned. When I say votes don't register, logging into accounts reveals the vote actually occurred, but the actual vote count externally doesn't budge.
Here's how it works:
For a target (thread or comment), I select a subset of accounts from all the accounts I have available to upvote/downvote the target. I then generate a custom script (later read by another part of my program) which upvotes or downvotes the target as required, but also mimics natural behavior by browsing and voting on other random subreddits, threads, and comments.
Once this script is completed, I execute this script and other scripts simultaneously in multiple processes. I use selenium to automate user actions and run these scripts headlessly using Xvfb. This is to avoid a headless user agent.
My bot is written completely in Python, with an sqlite3 database that stores targets and submission/comment cache. I do use PRAW, but I use it in a read-only manner, so no votes are sent through PRAW at all. I just use PRAW to update cache and gather some information about the target thread or comment.
Some problems/things I think may be the issue:
1) Each account has unique proxy, but those proxies themselves are shared proxies I bought from a provider. Maybe I should use a dedicated proxy?
2) These accounts are pretty young. I made them all less than a week ago. Most of them don't have a comment block, however, so I can comment quite often. Some accounts got banned though. Maybe I should use older/aged accounts?
3) I'm executing from a Linux machine with Firefox as the application. Maybe I should spoof the user agent to Windows and use some other browsers?
Any tips/help would be greatly appreciated. I'm not just trying to make my bot work, but I'm trying to make it better too, so if you think I'm doing something fundamentally wrong, please let me know.
Thanks so much!
I've written my own reddit upvote/downvote bot, but I'm having trouble getting it off the ground, mainly because my votes don't seem to register and some of my accounts are getting banned. When I say votes don't register, logging into accounts reveals the vote actually occurred, but the actual vote count externally doesn't budge.
Here's how it works:
For a target (thread or comment), I select a subset of accounts from all the accounts I have available to upvote/downvote the target. I then generate a custom script (later read by another part of my program) which upvotes or downvotes the target as required, but also mimics natural behavior by browsing and voting on other random subreddits, threads, and comments.
Once this script is completed, I execute this script and other scripts simultaneously in multiple processes. I use selenium to automate user actions and run these scripts headlessly using Xvfb. This is to avoid a headless user agent.
My bot is written completely in Python, with an sqlite3 database that stores targets and submission/comment cache. I do use PRAW, but I use it in a read-only manner, so no votes are sent through PRAW at all. I just use PRAW to update cache and gather some information about the target thread or comment.
Some problems/things I think may be the issue:
1) Each account has unique proxy, but those proxies themselves are shared proxies I bought from a provider. Maybe I should use a dedicated proxy?
2) These accounts are pretty young. I made them all less than a week ago. Most of them don't have a comment block, however, so I can comment quite often. Some accounts got banned though. Maybe I should use older/aged accounts?
3) I'm executing from a Linux machine with Firefox as the application. Maybe I should spoof the user agent to Windows and use some other browsers?
Any tips/help would be greatly appreciated. I'm not just trying to make my bot work, but I'm trying to make it better too, so if you think I'm doing something fundamentally wrong, please let me know.
Thanks so much!