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
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.
Presumably utilizing this website: http://whatthefuckshouldimakefordinner.com/
Extra points if it either has an alternative command or, even better, remembers per-user whether vegetarian.
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?
jenni will crash under a certain unicode character.
mIRC 6.35/UPP default quit message has the specific character.
AJoseph: maybe, in the future you should resay that message but start off with "phenny should..."
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.
add ability to pull up command descriptions and possibly a link to more documentation with a .man command.
Currently jenni can only connect to one network.
I am suggesting adding multi-network support.
Keep up the great work!
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.
Add the ability for jenni to optionally connect using SASL.
add something like .mystat to get your personal stats.
Improve the output of the .blocks list (hostmask|nick) so it doesn't spam too much, whether it is in PM or a channel.
Add a start flag or someway for jenni to prefer IPv6 support over IPv4 and then connect.
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.
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.
add ability to look up vim help using a .:help command and possibly link to more documentation
voice players when they join so that they are recognisable, also perhaps +mz the channel on .uno to reduce noice.
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_osu should suck it
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 ability to specify which port number of the IRC server jenni uses upon connecting.
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?
Create a logs/ directory that contains a few files. Module error logs, connection logs, and raw logs of everything.
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?
Would be nice to have jenni to privmsg a channel whenever someone uses a command.
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 :(
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.
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.
phenny should test 2
phenny should not become sentient
Add the ability for jenni to respond to CTCP requests, such as CTCP VERSION and/or others.
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.
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
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.
phenny should test 8
phenny should have a function to specifically annoy paradigm as a reminder function
This is a test bug
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
What if phenny_osu could execute those commands?
Create the ability for admins to create aliases for existing functions / commands without restarting jenni.
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)
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.
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...
update it to detect inline LaTeX
possibly look for a place that doesn't default to
When 'search.txt' is empty (but exists) it causes an EOFError.
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.
Add the ability for specify if jenni should use SSL when connecting to an IRC server.
phenny should "Collect a search string and a zip from a user and yield the results from yourbackerbar.com"
phenny should be quit
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.