myano / jenni Goto Github PK
View Code? Open in Web Editor NEWjenni was a python IRC bot. Project is closed. Try Sopel instead, https://sopel.chat/
Home Page: https://sopel.chat/
License: Other
jenni was a python IRC bot. Project is closed. Try Sopel instead, https://sopel.chat/
Home Page: https://sopel.chat/
License: Other
The idea behind this is to prevent jenni from spamming the title of specific URLs.
No, this is not for "Rick-rolling", that's just an added benefit. ;)
Add a start flag or someway for jenni to prefer IPv6 support over IPv4 and then connect.
Provide a way to rate limit all module function calls. Also have it so that each function in a module could be rate limited by a different amount. For example:
def mytestfunc(jenni, input):
jenni.reply("I love you")
mytestfunc.commands = ['love']
mytestfunc.rate = 5
where it can only be used once per nick per 5 seconds.
phenny should test 2
Currently jenni just sticks everything into "logs/raw.log".
Possibly make jenni do "logs/$network/$channel-MM-DD-YYYY.log".
Possibly make this configurable from inside the config?
This would allow users to have access to certain parts of jenni per channel.
Example:
'john' can make jenni join/part his #foobar channel, while not being able to use the command for someone else's channel.
phenny should be quit
update it to detect inline LaTeX
possibly look for a place that doesn't default to
Improve the output of the .blocks list (hostmask|nick) so it doesn't spam too much, whether it is in PM or a channel.
When 'search.txt' is empty (but exists) it causes an EOFError.
Currently jenni can only connect to one network.
I am suggesting adding multi-network support.
add something like .mystat to get your personal stats.
Add ability to specify which port number of the IRC server jenni uses upon connecting.
UnrealIRCd / bahamut (dalnet) have cmode +c .. this mode will HALT all color/bold/ect.. text. basically causing jenni to fail.
charybdis / ircd-seven (freenode) cmode +c is forgiving as it just strips the color/bold/ect... as it send it to the channel.
Idea is to make jenni grab the cmode's when it joins the channel or when they change. if cmode +c exists, make jenni NOT send color/bold text. This will prevent jenni from failing on UnrealIRCd / bahamut.
On a side note, UnrealIRCd's cmode +c will let bold text go through. Just not color.
Connecting to chat.us.freenode.net:6667... connected!
error: uncaptured python exception, closing channel <bot.Jenni connected at 0x7f99c4e4c3f8> (<class 'socket.error'>:[Errno 111] Connection refused [/usr/lib/python2.6/asynchat.py|handle_read|110] [/usr/lib/python2.6/asyncore.py|recv|373])
Closed!
Warning: Disconnected. Reconnecting in 20 seconds...
Idea is for users to have jenni store user zip codes.
Example:
KindOne: .set weather 31216
// so that later on, when i do
KindOne: .weather
// I get
jenni: Clear ☼, 50.0℉ (10℃), 30.00in (1013mb), Calm 0kt (↑) - KMCN 08:53Z
//Without having to specify my zipcode.
Better set another command to auto stop the game if not active for 1min to 5mins
What if the starter has gone? What can we do?
The .stats command shows nicks/channels.
Lets say I have a private channel, like ##kindone-spam. if someone in ##kindone does ".stats", they would then see the stats for ##kindone-spam.
I am suggesting making an option to hide specific channels.
voice players when they join so that they are recognisable, also perhaps +mz the channel on .uno to reduce noice.
fix the school.py so it actually works. There seems to be a problem now with the module. I believe schedulizer changed their layout.
-- try to found a schedulizer api for find out how schedulizer parsed the public class list at https://courses.osu.edu/psp/hcosuct/EMPLOYEE/HRMS/c/COMMUNITY_ACCESS.OSR_CAT_SRCH.GBL
Would be nice to have jenni to privmsg a channel whenever someone uses a command.
Create the ability for admins to create aliases for existing functions / commands without restarting jenni.
add ability to pull up command descriptions and possibly a link to more documentation with a .man command.
In line 28 of modules/xkcd.py there's this:
xkcd.priority = low
It should be replaced with this, as it fails to load without low
being a string:
xkcd.priority = 'low'
I'd submit a pull request, but I can't at the moment.
phenny should "Collect a search string and a zip from a user and yield the results from yourbackerbar.com"
At the end of a loss the unobot module isn't correctly increasing the appropriate numbers in the unoscores file and for a win for at least one user it wasn't increasing the appropriate numbers either.
AJoseph: maybe, in the future you should resay that message but start off with "phenny should..."
Add the ability for jenni to optionally connect using SASL.
Presumably utilizing this website: http://whatthefuckshouldimakefordinner.com/
Extra points if it either has an alternative command or, even better, remembers per-user whether vegetarian.
phenny should implement a .fixit or similarly named function where phenny will run the last thing somebody said against aspell ( http://wm.ite.pl/proj/aspell-python/index-c.html ) and then print out the corrected version.
Idea is for someone to be able to view his/her or other people's scores for all the #channels, in one command.
Example:
.scores KindOne all
Scores for KindOne: #jenni: 1 | #channel 44 | ##kindone 9000
I'm running ircd-hybrid 7.2.2 on a ubuntu server. The server is running on 6669 and password protected.
I've added serverpass to the default.py.
On starting jenny this is what i see
Connecting to example.com:6669... connected! Closed! Warning: Disconnected. Reconnecting in 20 seconds...
On the server logs I see:
[2012/1/25 12.35] Access denied: hal9k[A.B.C.D] [2012/1/25 12.35] Unauthorized client connection from hal9k[[email protected]] on [0.0.0.0/6669]
I'm reasonably comfortable with python so I added some print debugging to modules/startup.py, but it seems the server throws me out before that.
eggdrop works out of the box :(
add ability to look up vim help using a .:help command and possibly link to more documentation
What if phenny_osu could execute those commands?
Since I am a new user this might be a stupid issue, but still - I have my nickname set up as an admin of a jenni bot, admin module seems to be up and running, but some commands are not available (for example .op doesn't work, .part works, but .join doesn't etc.). Am I doing something wrong?
Add the ability for specify if jenni should use SSL when connecting to an IRC server.
When I use .startrss jenni prints the last rss item, and a couple of seconds later returns:
ProgrammingError: Cannot operate on a closed cursor. (file "/home/user/.jenni/modules/rss.py", line 133, in read_feeds)
This can be used to view block list without spamming channels.
This can also prevent the bot from flooding out due to posting multiple lines.
Create a logs/ directory that contains a few files. Module error logs, connection logs, and raw logs of everything.
phenny should not become sentient
phenny should test 8
phenny_osu should suck it
Currently, jenni pulls the RSS feed in a per channel setting.
If 20 channels pull from the same URL for a RSS, jenni basically checks a RSS 20 times. This is horrible as the website could think jenni is some bot and block the IP.
I am suggesting make jenni store the URL globally (or something like that?), pull whatever feed, then message all the channel that have that specific URL in their settings.
If its multiple channels, do a ' PRIVMSG ##kindone,#jenni,#defocus : News feed here.. ' instead of sending a single PRIVMSG per channel. Possibly grab the maximum amount of channels per PRIVMSG in the RAW 005 on connection.
Add the ability for jenni to respond to CTCP requests, such as CTCP VERSION and/or others.
phenny should have a function to specifically annoy paradigm as a reminder function
Keep up the great work!
This is a test bug
jenni will crash under a certain unicode character.
mIRC 6.35/UPP default quit message has the specific character.
admin.py and unobot.py both need reloaded after starting jenni before they work. I haven't really investigated as to why this is occurring but it's rather annoying.
Lets say we have two jenni's in a channel.
Someone posts "http://www.google.com" in a channel. jenni1 will say " [ Google ] - http://www.google.com ".
jenni2 will catch what jenni1 said, and repeat it. This will lead to an infinite url linking loop.
I suggest making it so this only happens once or twice, then the other jenni is ignored.
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.