Asynchronous IRC bot written in Javascript
butterscotchstallion / guacbot Goto Github PK
View Code? Open in Web Editor NEWAsynchronous IRC bot written in Javascript
Asynchronous IRC bot written in Javascript
It would probably work a lot better
Example: http://youtu.be/x8tDy-wIjms?t=20s
Use SA account to obtain more detailed page titles when forum pages are linked
Refactor the functionality of Yes/No into Arbiter. I think that Arbiter should contain all of the "pick one" type functionality.
If lots of messages occur in a short period of time, it is possible for the bot to deliver notes multiple times
Possibly fixable by keeping a local cache of read notifications
Look for "statuses" as well as "status"
Should not be able to send notes to the bot
Change to timestamp descending
Add a column to indicate it's an older log dump, so if there are more logs later I can remove the duplicates later
19:00:18 @n ATTN tehloki: im sorry it won't happen again (sean2 a minute ago)
use .first() for selector to eliminate the unlikely possibility that there is more than one title tag. maybe it will make it faster, who knows!
Quiet mode plugin would disable the listeners temporarily on command
If a user links something like youtube.com/user/johndoe then it is interpreted as a video, so it tries to parse out the video ID.
Perhaps if it is unable to parse the video ID, it can fall back to a regular page title
15:58:13 @chillulum guacamole: last quote IcebergSlim
15:58:15 @guacamole Oct 10 2013 04:35:09PM undefinedmundefinedeundefineddundefinediundefinedtundefinedaundefinedtundefinediundefinedoundefinednundefined undefinedaundefinednundefineddundefined
undefinedsundefinedtundefineduundefinedfundefinedfundefined undefinedaundefinednundefineddundefined
undefinedmundefinedeundefineddundefinediundefinedtundefinedaundefinedtundefinediundefinedoun
Fix by only replacing search query when it is present
Use a different algorithm to improve performance e.g. not order by rand()
Include rating and views to match the other Youtube titles
Also respond to:
bot-nick: attn crank plz commit more
Add www to the regex around line 160 and don't forget to update the tests
Query DuckDuckGo to define a phrase
Because I didn't lowercase the destination nick, it is possible to circumvent that validation by using uppercase characters.
Example:
19:14:57 @chillulum guacamole: note chiLLulum hi
19:14:59 @guacamole Message for chiLLulum saved!
19:15:02 @chillulum hi
19:15:04 @guacamole ATTN chillulum: hi (chillulum a few seconds ago)
Show channel in message as well?
Reformat URL to be like this:
youtube.com/?v=videoID instead of youtube.com/v/videoID
Stuff like "3333333333333333h" should not be valid
Centralize the sending of messages so that it is possible to get the last message sent, which would allow us to see what message caused the error message
Currently the define plugin queries WA with "define foo". Add a "wa" command for general queries.
Perhaps make it its own plugin?
Maybe time out after 5 seconds?
06:38:01 paige> n note skeleton_wheels
06:38:02 n> Invalid recipient
06:38:04 paige> o
06:38:07 paige> o k
06:38:12 paige> n note skeleton_wheels n
06:38:13 n: Message for skeleton_wheels saved!
06:38:35 paige: OH SO NOW HES A VALID RECIPIENT
Failed to check if there were any results before referencing because I am a failure
When using this command, don't include your own message in the results
n mention meditation 5
Make a plugin to respond to this command
Plugin should also respond to mobile.twitter.com
Refactor plugins to store their callbacks in order to facilitate plugin unloading without restarting the bot
http://stackoverflow.com/questions/4305175/unbinding-events-in-node-js
Maybe it is possible to split the HTML up before having it parsed to decrease processing time when it is parsed
Make Squire unban if hostmask matches admin
Same vein as "n apples or oranges or pretzels" => "[ ] apples [ ] oranges [โ] pretzels".
Ideas, in rough priority order, include:
Add column to indicate content type - this could allow functionality like searching for only images in the logs
Randomly repeat someone optionally with quotes around the message
To match the channel filter scheme used in the Titler plugin
Add ATTN and maybe some nice bold to the note template
Implement Argus, a module for keeping track of which nicks are in which channels. This would eliminate the need to perform a whois in many cases. It could also make it feasible to have plugins perform actions which require a hostmask immediately rather than performing a series of costly whois queries.
Examples:
Instead of making changes every ten seconds, create a queue and apply modes as many as possible at once
Plugin to announce pushes to a repository
Use an additional query afterwards which is identical, except it's SELECT COUNT(*) with the original from/where clause. This should be faster than SQL_CALC_FOUND_ROWS
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.