/r/SubNotifications
This subreddit is for support regarding https://redditcomber.com, as well as an archive for the now-defunct u/Sub_Mentions bot
/r/SubNotifications
u/Sub_Mentions has been in disrepair for some time at this point after several years of running unmonitored. This hasn't been due to the public api changes but more so my neglect. It's a very old project and one I'm not prepared to continue maintaining at this point. If Reddit's first-party Dev Platform ends up supporting it though, I'll probably build something on there in the future to replace it
Redditcomber will NOT be going away. You can still find and use it here: https://redditcomber.com
I want to take a moment to highlight the differences between these two projects so it's clear what is or isn't going away, and why I made this choice
u/Sub_Mentions was always made for the purpose of being a moderator tool. Mods wanted to know when their subreddit was mentioned elsewhere on Reddit the same way that usernames worked. Because of its primary purpose as a mod tool, u/Sub_Mentions was designed to support sending notifications to modmail. If modteams didn't want these notifications but individual mods did, they could configure the notifications to be sent to their inbox instead.
In contrast, Redditcomber was always a tool for personal / individual use. If you have a topic or keyword that you were personally interested in finding usage of on Reddit, then you could enter it in Redditcomber and receive notifications. Redditcomber was designed to be a more generic, more powerful tool that was intended for a broader audience. Taking that tool and building in support for modmail messages would've been a lot of work for a very niche use-case, so I chose not to, especially since u/Sub_Mentions was functioning fine at the time.
Well, time passed and now I'm at the point of not really wanting to support two different projects with different tech-stacks doing similar things, so I've elected to stick with Redditcomber. Hopefully those of you that were previously using u/sub_mentions can either adapt it to suit your needs, or find another tool that can. As I mentioned, keep an eye out for stuff on Reddit's developer platform.
For those of you interested, I'll leave the links in the sidebar to u/Sub_Mention's source code up, so you can play with it yourselves but it will probably need a good bit of work to get running with the latest version of PRAW, and please do feel free to reach out and ask questions about anything related to the work I've done / am doing on any of the projects discussed here.
After finalizing some designs on the beta and commissioning a logo, the swap is now complete!
Check out the shiny new site here: https://redditcomber.com/
I've addressed the issue with post notifications. It had to do with recovering when Reddit's public api was unavailable. It should recover more gracefully now
Due to a bug in the code, notifications for Posts are currently not working. I know the issue and will fix it tonight when I'm off work
There's a new version of Redditcomber now available for general use at: https://beta.redditcomber.com
Please give it a test-drive and let me know how it goes
Edit: In case the website seems broken to you, please try forcing a refresh of your browser's DNS cache. On Chrome, you can do that here: chrome://net-internals/#dns
Moving the application to a new server, so there might be some downtime while the the domain updates and I stand the services back up
Edit: Migration complete
Notifications for https://redditcomber.com are going to be down for a little bit today as I reset some stuff (2021-12-25, 14:39 EST)
Will update this post when it goes back up
Edit: Back online (2021-12-25, 14:50 EST)
I'm home recovering from a bachelor party I attended this weekend, but it's the second time I've taken time off work in the past month. What those vacations have in common, though, is that Redditcomber decided to crash on me while I didn't have particularly convenient internet access, causing an outage that lasted about a day each time.
Well, I'm tired of Murphy's Law biting me in the ass every time I decide to "trust" this app. There's too many people using it at this point for that to be acceptable. Now, y'all are exceptionally accommodating. I've received nothing but positive messages whenever people have had an issue with the service asking for help, and in those cases I'm happy to go out of my way to provide it.
But I think it'd be easier for everyone if "shit just worked". So I decided it was time to dive into a deployment management service like K8s or Docker. In this case, Docker because it's piss-easy to set up in comparison. GCP is a little bit of a hassle to set up with it, but overall it still makes my life way easier managing this thing, so here we are.
A little background on the app is that the comment scanner and post scanner are actually two different services that actually share a lot of logic. They live in the same repo, and use the same libraries, but they have different entry points and slightly different scanning logic.
The popular pattern seems to be a Dockerfile for each app startup process, which is straightforward enough; just copy the files to the relevant workspace, build, and run the app.
Then just add an entry for each into our docker-compose.yml
file and then docker-compose up
becomes a quick and easy startup command for both. The nice part though is a little line in the config; restart: "unless-stopped"
, which restarts the app should it ever crash for some reason.
So lastly, log into the GCP VM I have provisioned for this project, make sure docker tools are installed and the daemon is running, and start the app. Redditcomber should now run indefinitely and be fault tolerant.
And as a bonus, whenever I update the app now, I can simply clone the repo and re run docker-compose up -d
and it will replace the old running instance. Less downtime when making development changes!
Future plans will be to integrate it with GCP's Cloud Build / Cloud Deploy products, but that's a todo item for another time.
And lastly, here's the Patreon for Redditcomber in case you're interested in supporting this project. Supporters get my eternal gratitude, as well as a couple extra features: https://www.patreon.com/rgood
I just need to run an update on the computer it runs on before I go on vacation for a week
If you noticed and came here checking why, comment below and I'll gild you or something idk
Something I've seen discussed lately was the notion of moderator safety and the detection of personal information / doxx on Reddit. I think this is a fairly important issue that should ideally be self-managed.
Something I'd like to do is offer an increased keyword limit to moderators of default subreddits, so that they may enter / monitor personal information being posted elsewhere on Reddit for quicker identification / escalation.
If you moderate a default subreddit and would like to use Redditcomber as a personal safety tool, DM me privately and I'll change your Redditcomber account status.
It was recently brought to my attention that the Post Notifications were missing various subreddits. After some investigation, I believe this has to do with various content filtering done on /r/all/new. As a result, I've swapped over the post feed to a different source that should more completely index new posts
Let me know if you notice significant content misses or delays in receiving notifications; that's one of the risks in the new implementation. I'll also be keeping an eye on it
Cheers,
T1RG
This one isn't so much of a status-update as it is a tech-blog; so if that's not your sort of thing, feel free to skip this one.
Okay, so let me sum up the recent changes with this thing and what problems that solved, as well as caused.
Right, so, Redditcomber is now no longer using the /u/sub_mentions bot, and is now instead spread across ~10 accounts. 2 of them are feed-scanners, and 8 of them are notification-senders. This is slightly overkill, but the idea is for this thing to scale. Anyway, if you've been wondering why you're getting notifications from /u/feedcomber-c2 or whatever, that's why.
Okay, so what's the problem then? Well, this presents account-level problems. Historically it was very easy for me (or you fine folks) to notice when something was wrong with /u/sub_mentions and get someone's attention about it. But if one account out of 8 gets shadowbanned or something, it becomes much more difficult to notice. As the haystack of accounts gets bigger, it gets harder and harder to find the banned needles.
So that brings us to my first "crack" at a solution. I have each client post its usage-stats to a "healthcheck" subreddit hourly. Shadowbanned posts will show up in the modqueue and become easy to identify for fixing. However this was only a rough solution, because it still requires me proactively checking the subreddit, and I would have to restart the scanner to remove the banned client from use.
And this brings us to my second solution; a "regulator" account. It will periodically (most likely hourly, but this is configurable) check the status of accounts and if it finds any are banned, it will remove them from the pool of accounts able to be used for sending notifications, then send me a notification about it. Then it will start a ticker process checking the account status periodically so as to return it to the client pool once it's fixed.
Now, when an account is banned, I'll get a ping about it and can go get that sorted much more promptly. Not only that, but redditcomber will adjust usage so that notifications aren't continuously sent on the shadowbanned accounts. Finally, when the account is restored, it will automatically resume function without intervention.
I hope one day these accounts can be banned and fixed without any service interruption or my intervention whatsoever, but better yet, hopefully that they just don't get banned
Most of the accounts are set up and functioning properly, but as you can imagine, spam-detection services can an will cause problems. As with /u/sub_mentions occasionally getting shadowbanned, 10 accounts set up in the last 24 hours all sending out massive amounts of traffic from the same IP address was always going to raise some flags. Atm, I believe most of the accounts are shadowbanned. That will get resolved tomorrow. Thanks for the patience while I sort it out.
As many of you may or may not have noticed, I swapped the notification bot from a single account (/u/sub_mentions) to multiple following the format feedcomber-*
This has been a bumpy process, and there may yet be more bumps along the way but the end-result will be worthwhile.
As always, let me know if you experience any issues.
Thanks,
Randy
Been awhile since I've kept you guys updated on what I've been up to so I thought I might take a second to fill you in
Firstly, the stuff to celebrate:
The less important of the two is that I got a job at Reddit 🎉 but Redditcomber will continue to be my own personal project unaffiliated with Reddit Inc
But more importantly, Redditcomber hit 3000 keywords! That's a lot of usage!
Now that gets us into development work:
For as long as Redditcomber's been growing, the main struggle has been how to keep up with usage and how to most efficiently use CPU time, because we're on a budget. Even this small operation costs more than my monthly internet in compute instances, so we have to run lean
In the past, Redditcomber has been a python backend that has... let's say "limitations", but I've spent awhile re-implementing Redditcomber in Go, to take advantage of the speed and native parallelism. Now, I've known Go for less than a month, so there's been a lot of tinkering going on, but I've arrived at a highly performant working prototype. It's not in production yet, but it won't be much longer until it is. What that means for you is faster and more consistent notifications
Secondly, I've been toying with the idea of moving the notifications from redditcomber to their own account, so it's separate from the original /u/sub_mentions account. As-is /u/sub_mentions is responsible for an enormous amount of DM traffic and I largely relied on its whitelist status to cut through some red tape that no longer needs to be cut through. I'd actually like your feedback on this though, so please let me know how you feel about moving notifications to a new account
Regardless, that's the immediate future for Redditcomber. Happy to continue spamming your inboxes (upon request)!
Cheers,
Randy
TL;DR: You can now search posts as well as comments. There's a new drop-down on https://redditcomber.com to specify which you'd like to use.
So, for the longest time I've had the request to search posts as well as comments. Given the original purpose of the bot though, I was reluctant to implement it. Reddit search is okay enough for finding posts about a specific topic, but comments never had that similar utility. RedditComber was originally made to fill in that gap.
However, as RedditComber evolved and as a dialogue with its users developed, it became clear that you all care about two things that I didn't consider. Firstly, that the next step of optimizing your social media experience was in bringing the content you care about to you. Curating your front-page is one thing, but curating the specific posts and comments you read down to the topics you care about is a more efficient way of browsing Reddit. Not everyone likes to casually scroll, some people have a very specific idea of what they're looking for and RedditComber helps them find it. And the second point is that it matters to find this content quickly. It's not just about reading it, it's about reading it first, and often times responding in some way. Of course, naturally important content to see doesn't reside exclusively in comments, so hopefully including this content for Posts as well will be a welcome addition to your Reddit / RedditComber experience.
Something I should make clear though is that this behavior is not default. For the sake of not disturbing the use-case of everyone already, keywords made before now will still only search Comments. To search posts, please go to https://redditcomber.com, change the Search
section to your desired setting, and Save the keyword.
To the few of you that signed up to the Patreon, realized this feature wasn't yet implemented, then unsubscribed, I apologize for taking so long.
If you find any issues with the app, please let me know. As always, this has been a hobby-project of mine and I rely very heavily on user-feedback to improve the experience.
Thanks,
Randy
Bot's back up with some upgrades to its runtime, and has been somewhat restructured to faster send notifications.
Thanks for understanding,
Randy
RedditComber.com will be down for some time this evening while I roll out some system updates. There's also some changes in there to address notification delay you may have been experiencing.
You will still be able to view and update your keywords in this time.
I will make a follow-up post when everything is back online.
Thanks,
Randy
It's been a long couple of days, but the new app is up, the comment scraper is running (on my computer for now, so I can baby-sit it), and the data has been migrated.
RedditComber is officially back online.
Thanks for being patient, and I hope you dig the new site.
Thanks everybody, and thank you very much to /u/Drunken_Economist for his continued development support.
Cheers,
T1RG
I'm a little apprehensive to post this, because I don't want to give people the wrong impression.
As of right now, the official RedditComber service is not online. HOWEVER, I have set up a temporary front-end that you guys can use to test it / get a feel for the differences between the two.
#IMPORTANT: THIS IS A TEMPORARY DEMO. INFORMATION SAVED THERE WILL NOT PERSIST WHEN THE SITE GOES OFFICIALLY LIVE.
#THE COMMENT SCRAPER IS A TEST VERSION. MESSAGES WILL NOT BE CONSISTENT.
This is exclusively for the purpose of familiarizing yourselves with the new interface.
Thanks for bearing with me,
T1RG
I've been toiling away at this for awhile now, and I'm satisfied with how the frontend looks. It's at least done enough for it to go live, despite a few remaining bugs. So with that, I'm gonna mark it as done and move onto the comment scraper.
I did most of it as a side-project to test how feasible a distributed system was awhile back. So now I have to dig it up, brush off the dust, and hook it up to what I have, as well as fill in the missing pieces (which is actually sending the notifications).
Once that's done, the last step is data migration, which I've tasked /u/Drunken_Economist with. He's at least a little helpful... sometimes.
So I'll mark the numbers here:
Cheers,
T1RG
Edit: The comment scraper wasn't too hard to set back up.
Well, this has been a long-time coming, but Redditcomber V1 died today for various reasons. It was plagued by memory leaks, crashing, my occasional stupidity, and was so old, that it wasn't up to the standards of software engineering that I am now capable.
HOWEVER, this only means that the time-table for releasing a V2 has been sped up. I desperately hate the thought of https://redditcomber.com having any down-time, so I'll basically be devoting 100% of my free time towards making a sleeker, more-reliable version over the next few days.
Thanks for bearing with me during the transition.
Cheers,
T1RG
Progress update: https://www.reddit.com/r/SubNotifications/comments/avy165/redditcomber_v2_update/
For those following the dev-posts of this bot, you're probably aware that this bot runs on the same server that I use to run redditcomber.com
Well, redditcomber is bork for now and I need to make some code-changes to prevent system abuse before I can start it back up. That's why the bot's been offline lately.
Service will be restored when I next have a free moment to resolve these issues.
Edit: Redditcomber is back online now as well.
Been about a month since I've made a public post so I figure now's a good a time as any.
I've spent a lot of time working on redditcomber recently. If you haven't noticed, that's because it's on a new and improved version that I haven't released yet. I don't have an ETA on when the beta will be released, but soon enough. Will be an entirely new web-app that hopefully looks less hacked-together. A lot of the changes are mainly for me, making it easier to do future-work. I have ideas for changes that weren't easy to implement before but will be easier in maintaining an enterprise-like application for you. Also I'm running up against a cost-wall pretty soon so I don't exactly want to keep wasting time on this.
Secondary to that will be updates to the actual notification service. This is important because it hasn't been touched in awhile and while its fault tolerance is remarkable, it's not very... organized... Which is to say I've come up with designs for a replacement, I just have yet to start implementing it. The replacement should have better scalability and a larger feature set. I don't know how much of that I'll be able to offer to the subreddit notification service, but where I can expand, I will. SubNotifications have the inherent limitations of using reddit as its interface, and there's only so much I can do with the subscription template. The syntax requirement is probably one of the biggest criticisms I receive, which is an absolutely reasonable one. So asking people to delve even deeper to that in order to access some extra features would basically just mean those features would never get used. Idk, I'll think of something. Or at least try to move away from JSON. I appreciate software that's highly testable, which for a long time, and still to some degree, these projects are not. That makes rolling out changes difficult and have a high probability of breaking. You guys may not notice it that often, but I certainly do when the bot's offline for 48 hours and I have to dig into time I would otherwise spend sleeping.
So that's the direction I'm going in with these things. Projects that actually look and feel legitimate, instead of something hacked together. I've come a long way, but there's still a lot of ground to cover. I just figured a month was a little too long to leave you guys in the dark on that.
Peace,
Randy
Both bots are now up and running on their new server. Enjoy.
So you may have noticed a minor lapse in service.
Well, the rug was kind of pulled out from under me on the last server I was using, so I had to migrate to my new one on short notice.
That's still the case, and I've spent my time getting https://redditcomber.com back online, but now I'll be moving onto the bot for this sub.
Thanks for bearing with me, sorry for the delayed notice about it.
As seems to have been noticed earlier today, /u/Sub_Mentions was briefly shadowbanned. It's now unbanned and back to standard working order, and this doesn't require anybody else to do anything about, I just figured I'd take a moment to explain why this happened (or why it keeps happening).
reddit, as you're probably aware, has a variety of spam prevention systems. Most of them work similar to how /u/sub_mentions itself works, actually. Look through new reddit comments for matching text and respond accordingly. Although in most of these cases, instead of sending a notification, these filters just shadowban whichever user said the thing. Every once in awhile, someone will say this filtered text in a comment that triggers the bot, and the bot goes and repeats whatever phrase triggers the spam filter, getting banned itself.
When this happens, standard operating procedure has been to whitelist the bot from whatever spam protection system caught the bot this time, but reddit is constantly developing and implementing new protection systems, for which there is no master white-list, so my bot gets added to them one-by-one, but usually only as it gets caught by them. While it'd be nice to take preventative future steps, the only real means would be for reddit itself to enact some policy regarding the /u/Sub_Mentions account when implementing new spam filters, and a company policy change for one account is a pretty high expectation. Especially since, hey, I might just snap and lose it one day. :)
In the meantime, this may just have to be one of those minor inconveniences we deal with until I implement things like alternative means of receiving notifications (like email, sms, or irc).
Lastly, big shout-out to the people that brought this to my attention. I rarely find out first-hand that my bot's been shadowbanned, usually I get a message about it, but in this case you guys even one-upped that, and got an admin involved before I had the chance to do anything. I have a lot of pride in the fact that you guys care about this project enough that you'll do that for me, so once again, thank you.
Cheers,
T1RG