Active
Project:
Drupal.org infrastructure
Component:
IRC
Priority:
Normal
Category:
Plan
Assigned:
Unassigned
Issue tags:
Reporter:
Created:
28 Mar 2017 at 10:21 UTC
Updated:
9 Aug 2017 at 15:50 UTC
Jump to comment: Most recent
Follow up from: https://www.drupal.org/node/2490332
We want to make the Drupal IRC bot https://www.drupal.org/project/bot a modern, automated and more helpful way to interact on IRC.
* What features are we missing?
* What features should we clean up?
* Should we use a larger and pluggable bot like hubot?
* Should we continue to use php for development?
There are some issues out there that need to be taken care of like https://www.drupal.org/node/1886646 and others that need to be created to actually modernize our IRC bot.
Let's discuss here the above questions and later on create some issues to make them move forward.
Comments
Comment #2
dawehnerI know that @drpal tried to setup a bot based upon hubot, I think this was actually kind of successful.
Comment #3
neclimdulThis issue seems a bit reactionary. Functionally the code in this project works the same today as 2 weeks ago.
I've been pretty happy with it and don't have any complaints with the way it works. There are plenty of open feature requests though and i'm sure the reporters would love some patches/review.
If it aint broke... but like I said i was pretty happy with things.
Seems like more of an infrastructure question then a question for this project? You'll guess my initial reaction I'm sure but I don't feel strongly, It just doesn't matter much to me. I've interacted with a lot of hubots and others over the years though and I've found Druplicon to behave better.
Comment #4
ciss commentedWhile I'm absolutely in favor of modernizing the bot used on freenode, I agree with neclimdul that this project is not the right place for it. As was mentioned the infrastructure issue queue would be better suited.
Comment #5
ricardoamaro commentedComment #6
ricardoamaro commentedi tried to move this to the infrastructure project but the UI won't let me. Could someone have a look, please?
Comment #7
drummComment #8
Mixologic#1886646: Fire (Non UTF8 characters) kills bot seems to be fixed in this current bot now. I have dropped both fire and poo emoji in IRC and the bot stayed alive.
Comment #9
mlhess commentedI looked at using hubot when we got ready for the replacement, however, it require a lot of custom coding to make it work like the bot project.
If we are going to keep this issue open, we should have some better defined goals that folks can work on. (Including choosing the tech stack)
Comment #10
frobOpt-in #drupal channel logging would be nice. I don't see a need to add user contributed pluggins to the drupalbot. I could see adding a pluggin system to the bot project, but not Drupalbot specifically.
Comment #11
ciss commentedI've toyed with the idea of a new bot for a while, so here's my take:
Foundations
Client
The client itself should run in its own process and should communicate with the actual server application via socket. Its only tasks should be:
That way we prevent further "fire kills bot" situations and can extend bot features without the need to restart the client (and have rejoin all channels).
Server
A server application listens to the socket, receives and processes messages and responds to them. Tasks would include:
Web frontend
A web frontend provides the means to access public data, perform administrative tasks and collect user input (e.g. factoids). Editing permissions could be handled via one-time token links that are handed out by the client on request.
Commands / features
General
Factoids
Factoids are user-provided pieces of content. As such they range from quirky jokes to essential guidelines.
API
Karma
The gamification of contributing on IRC. While it can easily be "gamed" itself and has no real significance, active users have repeatedly compared their scores and shared their motivation to reach higher scores.
Privacy
As we all know everything that happens on the internet stays on the internet. Still, to accomodate users, three levels of logging per channel should be provided:
While some users may want to opt out of any public tracking (see factoid history, karma log), only a limited number of bot interactions will actually leave such a trail. On the other end implementing an opt-out feature is nigh impossible:
Analytics
A certain degree of statistics gathering should be added for various aspects. These may either be tracked and derived on the server or separately by parsing message/response text logs. Aspects and benefits:
So, that's my take. Opinions?
Comment #12
frobIt would be immensely useful to have links to a web client for #drupal channels listed on the bot site.
It would also be nice if IRC karma was linked to issue credit as well. Maybe have the bot publically post karma as d.o gives credit to issues. This could pose problematic in the case where 1200 users are given credit for a single issue, but there could be a threshold where credit is given silently.
I wonder if Opt-out is more trouble than it is worth.
Comment #13
ciss commented... One thing I forgot to mention: We also need some hard stats regarding the flood limits enforced by Freenode. The bot lives in dozens (?) of channels and needs to be able to respond to all of them. These channels range from high activity (#drupal-contribute) to once-in-a-blue-moon interaction. Stats include:
Comment #14
ivaat commentedHI
While there is several other programming language based bots i don't see anything wrong with php
Comment #15
ciss commentedBump.
Comment #16
ricardoamaro commentedGiving a response to @ciss:
We need to get more people that know php to actually work around implementing some of those into the bot project or a new project, in case we want and have the manpower to start the bot from a different fresh base
Foundations
* Client: I basically agree with all your suggestions. We can heck if most are already done so.
* Server: I'm not sure if the actual bot has such features but they seem sane to me
* Web frontend: seems to be a good idea.
Commands / features
* General and Factoids: all makes sense to me.
* API: This needs to be better defined in a proper tickets
* Karma: These are very good suggestions
Privacy: Not sure if most of these can be implemented easily or even make sense. I'll let @mlhess give his take on those.
Analytics: I like these. Specially the minimizing frustration and tracking hot topics.
After more people give their opinion, we should probably create tickets based on those and prioritize them on the bot project.giving a response to ciss: I basically agree with all your suggestions.
We should probably create tickets based on those and prioritize them on the bot.