pokemontrades / porygon-bot Goto Github PK
View Code? Open in Web Editor NEWPorygon-Bot for IRC.
License: Apache License 2.0
Porygon-Bot for IRC.
License: Apache License 2.0
It seems to act as a \o
but I'm not sure?
Need to add database setup info and probably some other stuff.
If a user talks and they have messages queued for another channel, the bot should PM the user to alert them that they have a message waiting there.
Or the other way around, since I can never remember which of these is the actual command.
Currently, if a command requires an account to be registered, the bot has to ping NickServ every single time a user attempts to use the command. This can cause commands to be slow, or can cause commands to fail if the status check times out.
We can get around this by caching registered nicks. However, it can't be time-based, because an imposter could join immediately after a registered account quits. So the cache should only be maintained as long as the bot can confirm that the user has not logged out.
Now that we no longer "ignore" things on modqueue, this should be reasonably easy. We keep getting people to say "r" or "a" when they do something on an item. We should ge tthe bot to do it instead.
It'd be useful to have Porybot notify us when the usernotes are close to being full.
Not sure if it is doable using the reddit API, but it would be nice to have the report reason listed alongside the link to the comment/thread.
It would be great to allow pory bot to pull in commands from node modules.
This would allow us to more easily add commands that aren't going to be pushed into the core repository, and if you put something in that isn't published on npm it would even allow you to put secret commands that no one knows about, if anyone ever wanted to do that on a published version of pory bot. Would also allow us to pull out the reddit specific stuff and maybe turn this into a fully configurable bot more useful for more people.
!msg jude will return both judefacekilla and jude, making it send the message twice
I think it probably would be best if we broke it up into chunks based on feature (hi5, msg, etc). Would make it much easier to deal with.
Sometimes, threads don't get flaired due to Automod going down. We don't really have any way of knowing when this happens, unless someone reports it, or we happen to be browsing the sub.
Suggestion: Have Porybot pick up the slack so we don't have to worry about it.
If a thread is unflaired for 5 minutes, it's probably safe to assume Automod is down and isn't checking it, which means we'll have to flair it manually. We may also need to remove it for no flair set or no tag instead.
All we'd need is for Porybot to check for unflaired threads, and either notify us in IRC or report it (which will then generate an IRC notification). I'd prefer the latter, since that makes it available in modqueue if we miss the IRC notification. But the former would be alright with me too.
(This would be for both /r/pokemontrades and /r/svexchange.)
Currently, if we use the .tag command on a user with dozens of usernotes, all of them will get dumped into the IRC, but that's kinda spammy and not always needed. Sometimes we only need to check the most recent tags, and/or roughly how many total tags there are.
Suggestion: Only dump the most recent 4-5 tags into the IRC, followed by a "...and ## more usernotes. Use .tag /u/username -A
to display all."
And of course, .tag /u/username -A
(or some other syntax) would return all tags.
Also, on a similar note, I'd support allowing us to use the .tag command in PMs with Porybot.
Assistant mods aren't being modded on SVExchange, so we need to be able to exclude its reports from the assistant mod channel.
Trying to do tag /u/-username
throws an error due to the -
.
On top of #51: users with limited permissions must not be able to use restricted commands by PMing the bot.
Possible example:
.remindme 5 hours post the thread
Questions:
.msg
in the db and just add a delivery time field for all messages, or should reminders be their own thing? (implementation detail).remindme 5 hours post the thread
or .remindme in 5 hours to post the thread
?I'm lazy and can't be bothered coming to github to post a new issue whenever I think of one.
.issue flairhq "Add some cool new feature"
.issue porygon-bot "Add some cool new bot feature"
It will then reply with a link to the new issue.
I'm technically breaking the law by changing code right now. Can you add a license :-)
I would recommend Apache. If you agree with that, then just say so and I'll add it in the pull request I'm currently working on.
We discussed this in IRC awhile ago. Since missed reports often go unanswered for awhile because people rely on Porybot instead of checking the modqueue manually, we might as well make it easy to catch up on missed reports the same way.
So I suggest that, every hour on the hour (or :30), the bot checks the modqueue of both /r/pokemontrades and /r/SVExchange to see if there are unanswered reports (probably excluding ignored reports). If there are, it leaves a message in IRC along the lines of:
[MODQUEUE ALERT] There are x unanswered reports in modqueue for /r/subreddit: https://www.reddit.com/r/subreddit/about/modqueue/
If both subs have unanswered reports, there'd be two lines.
Obviously, the content of the actual message doesn't matter much, as long as it gives a number of unanswered reports, and an easy link to the modqueue.
Maybe if there's only one report, it could just link to that one report instead of modqueue.
This was discussed awhile ago as well. The idea is basically a new command that looks something like:
.qmodmail "This thread is sketchy because reasons" https://www.reddit.com/r/pokemontrades/whatever
And that would generate a modmail that looks something like this:
Authenticiation issues were brought up in IRC, but I think we could get around that by simply having it generate the modmail itself by modifying the URL and pasting that URL in IRC. Plus that way, we could add more details to the modmail or edit it before sending. The only issue there would be the fact that the URL would be pretty big, so maybe it'd have to use pastebin or something. Not sure what the best method for that would be.
Another idea that was discussed at the same time was having Porybot automatically reply to modmails containing links with a similar format to the above, which isn't a bad idea (aside from the potential infinite loops issue).
I'd probably still want the IRC command if we did that, though, so if anything I'd suggest doing both, if possible.
It probably wouldn't create much more spam, and would allow us to easily approve info posts that are useful without the user having to modmail.
It would be nice to not have to worry about breaking everything when making changes.
It's probably not necessary to set up a local IRC channel for this -- since the irc
module exports an EventEmitter, we can probably emit events manually to spoof incoming IRC messages.
Previously this probably wasn't a problem since those threads weren't tagged, but now it seems users are able to flair their own threads after posting with the redesign.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.