What would you like a bot to be able to do? reddit / irc ---------------------------------------------------------------------- AshEaria · 2016-05-05 19:25 I'm a computer engineering student. One of my classes is on computer networks, and the teachers have set up a small IRC server to test our assignments on and ask questions about the assignments. A friend of mine and I have written a couple IRC bots already to put on the server, that do basic things like keeping logs, mirroring the conversation of a single channel onto a Telegram group so that we can keep up to date without having to be online 24/7, dealing out OPs as necessary, etc. Now the thing is, next semester I'll have more free time than I'm used to, and my friend and I have decided to write a bot with as much functionality as we can possibly put in. We already have a few ideas, but we want more, so I'm turning to you guys. What would you like a bot to be able to do? Treat this as brainstorming with no limits: you can ask for a web-based graphical interface, Habbo-like rooms, being able to be in multiple rooms, controlling several bots at once, creating a MUD-like experience... Absolutely anything. We'll pick the ones we like best and that adapt best to our use cases, and link you guys to the GitHub repo once development is underway so you can keep up with it. Happy dreaming! ---------------------------------------------------------------------- aperson · 2016-05-06 02:54 How about a web- bases graphical interface, Habbo-like rooms, being able to be in multiple rooms, controlling several bots at once, creating a MUD-like experience... I mean anything, really. ---------------------------------------------------------------------- spling44 · 2016-05-06 09:21 haha.. bring back the MS comic chat! > Habbo-like I don't know what that means but it doesn't sound good. MUDs would be cool! Edit: Oh haha.. I just realized what you've said. ---------------------------------------------------------------------- spling44 · 2016-05-06 09:43 Well, I find some useful things to have on the bot are things like youtube info, > <+Devon> https://www.youtube.com/watch?v=J9FImc2LOr8 > <~RuneScript> *** [ YOUTUBE ]: "Space Jam Theme Song" [4mins 11secs] uploaded by xilymikehx (2009-10-09) | Views: 18,079,152 (+67212/-2057) calculators can come in handy another script shows what the previous topic was, > \* Nebuleon changes topic to ' *#stats - WE'RE GONNA BUILD THAT WALL, AND #RUNESCAPE'S GONNA PAY FOR IT* ' > <%Points> Previously: *#stats - Where the salt flows freely | Not yet sold to a Chinese mining company* set by aMunster 9hrs 19mins 29secs ago. I have actually had a web interface for changing and viewing all of your settings on a bot but no one really used it. It's way easier and faster to do it through IRC. Another nice thing to have in a bot is a good built in documentation of the available command, their parameters and so on. It's nice when a bot responds to !help or .help or something common like that. There's a lot of card games and the like that can be played through IRC quite comfortably like poker, blackjack, crazy 8s/uno, yahtzee, Cards against humanity, war (we have a lot of fun with this one in the points game) We have some bots that relay feeds as well, like /., Ars, deepdrumpf, and a "channel" twitter account that people can follow to tweet @ the channel and visa versa, that is a popular one as well. There's so much that can be done with them.. any information you might want at your fingertips. I have crafting recipes in the minecraft server channel, potion ingredients in the runescape channel, wowhead item info in the WoW channel (well not anymore but you get the idea). These things become even easier to dream up if you have some knowledge of your audience. Definitely you should have commands so that you can remotely control your bot, joining and parting rooms or what have you. A common thing to do is have your bot join channels when it is invited to them. Channels ops should be able to part the bot somehow. On my bot I put in a system so each command has a unique setting which channel ops can modify to turn commands off or make them private-only etc., eg. my trigger scheme is consistently !private/@public for all commands, but if a command is set to "private" for that channel then @command will still be private to the issuer. ---------------------------------------------------------------------- AshEaria · 2016-05-06 23:22 I hadn't thought of quite a few of those, and they're all massively interesting. I can already think of a couple functionalities derived from what you have (first one being the ability to search through the code library to save students trips to the documentation). Thanks so much, I'll add those to the list! ---------------------------------------------------------------------- kevelbreh · 2016-05-13 09:25 Don't create a bot, create an IRCD. It's not a client, it's a server which extends the network. Once you've done this, mirror your another platform's communication mechanics (like dota2 channels, minecraft, whatever) creating client proxies. Basically the outcome being that each user in minecraft will be treated as an individual IRC user by NOT having a bot echo'ing messages and actions but having your IRCD forging false users based on the other communication platform. Basically a bridge between IRC and whatever. ---------------------------------------------------------------------- kevelbreh · 2016-05-13 09:26 You can refer to the IRC RFC in a quick google search for more information around writing an your own server. ---------------------------------------------------------------------- AshEaria · 2016-05-13 22:40 That is certainly an interesting way of going about it. I've already written my own IRC server (that class I was talking about made us write both a server and a client, in C), so that shouldn't be a problem. What my friend and I are trying to do is to create a bot so we can plop it on the teachers' IRC server, rather than creating our own server and get the students to go to ours instead, but I'll give it some thought and see if it's worth it!