Author Topic: Should a moderation bot have a GUI?  (Read 10493 times)

0 Members and 1 Guest are viewing this topic.

Offline Furious

  • Hero Member
  • *****
  • Posts: 1833
  • I hate rabbits
    • View Profile
Should a moderation bot have a GUI?
« on: April 11, 2006, 02:52:20 pm »
Quote
|12:41:13 PM| <******> warz, make a GUI for your moderation bot

That's what brought this topic up.  This bot in development is written in C++, but the person the quote is from won't stop talking about having a GUI and all this blah blah blah.  IMO a moderation bot should have no GUI at all, or as minimal as it can be to keep the bot functioning correctly.

Input go!
Quote
[23:04:34] <deadly7[x86]> Newby[x86]
[23:04:35] <deadly7[x86]> YOU ARE AN EMO
[23:04:39] <Newby[x86]> shush it woman

Quote
[17:53:31] InsaneJoey[e2] was banned by x86 (GO EAT A BAG OF FUCK ASSHOLE (randomban)).

Quote from: Ergot
Put it this way Joe... you're on my Buddy List... if there's no one else on an you're the only one, I'd rather talk to myself.

Offline MyndFyre

  • Boticulator Extraordinaire
  • x86
  • Hero Member
  • *****
  • Posts: 4540
  • The wait is over.
    • View Profile
    • JinxBot :: the evolution in boticulation
Re: Should a moderation bot have a GUI?
« Reply #1 on: April 11, 2006, 03:25:06 pm »
It depends on what you want from your bot, of course.

The original JinxBot was intended to be a hardcore moderation bot for Battle.net.  It was an event-driven system running on three primary threads.  The GUI thread (the main thread) was "below normal" priority, as was the connection listener thread (it was also marked as a background thread).  The event dispatcher was "above normal" priority.  Because of the thread disparity, that ensured that the event dispatcher ran as long as there were events enqueued.  The event queue was also prioritized, so things like returned WC3 profiles were lower-priority than, say, channel joins, channel joins were always dispatched first.  (This wasn't preemptive; if a WC3 profile was being processed, then the event dispatcher waited for that to complete first).

The way that it worked was that there were obviously things the event dispatcher wanted written to the GUI.  But GUIfied things were always low-priority.  High-priority event listeners implemented in plugins, such as a moderation plugin, got all event notices before the GUI did.  And because Windows doesn't support modifying the GUI in any thread but the GUI thread, I had to marshal that data back to the main thread.  .NET has methods called Invoke() to do this and block or BeginInvoke() to do this asynchronously, and that's what I chose to do (the latter). 

As long as you have good design it's entirely possible for a moderation bot to have a GUI.  There's also the possibility of decoupling the GUI from the bot completely; you can implement a protocol like RSP (which is incomplete btw) to have a GUI communicate with your bot.
I have a programming folder, and I have nothing of value there

Running with Code has a new home!

Our species really annoys me.

Offline Joe

  • B&
  • Moderator
  • Hero Member
  • *****
  • Posts: 10319
  • In Soviet Russia, text read you!
    • View Profile
    • Github
Re: Should a moderation bot have a GUI?
« Reply #2 on: April 11, 2006, 06:19:58 pm »
I personally think that a bot that's strictly for moderation shouldn't have a UI, beyond, "Connecting.." etc messages, much like Network's VanquishBot (I wrote a UI plugin for it, but whatever).

However, there's hardly any strictly moderation bots. JavaOp is clearly a moderation bot, as the name states, but it still has a UI (pretty nice, too). StealthBot is a hybrid, and has a UI.

I think that you should add an option to hide + destroy (in terms of objects involved =p) the UI if you're going for moderation, but still have one there.
I'd personally do as Joe suggests

You might be right about that, Joe.


Offline igimo1

  • Full Member
  • ***
  • Posts: 420
    • View Profile
Re: Should a moderation bot have a GUI?
« Reply #3 on: April 11, 2006, 06:49:21 pm »
I personally think that a bot that's strictly for moderation shouldn't have a UI, beyond, "Connecting.." etc messages, much like Network's VanquishBot (I wrote a UI plugin for it, but whatever).

However, there's hardly any strictly moderation bots. JavaOp is clearly a moderation bot, as the name states, but it still has a UI (pretty nice, too). StealthBot is a hybrid, and has a UI.

I think that you should add an option to hide + destroy (in terms of objects involved =p) the UI if you're going for moderation, but still have one there.

Plugins, of course.

Offline wires

  • Pwnage
  • x86
  • Hero Member
  • *****
  • Posts: 1103
  • cocaine is fun!
    • View Profile
    • Weapon Of Mass Destruction
Re: Should a moderation bot have a GUI?
« Reply #4 on: April 11, 2006, 07:04:23 pm »
No, I don't think they should.  A colorful, decorated, and over all pretty GUI would just cause more events and slow the bot down. :/

CookieBot has a basic GUI, used for information that the user may want to know, and debugging.  I don't even think you should be looking at the bot's GUI, or talking through it if it's being used for moderation.

This also brings up the say command, which I think a moderation bot shouldn't have since it's there to moderate not talk.

Offline Joe

  • B&
  • Moderator
  • Hero Member
  • *****
  • Posts: 10319
  • In Soviet Russia, text read you!
    • View Profile
    • Github
Re: Should a moderation bot have a GUI?
« Reply #5 on: April 11, 2006, 07:48:38 pm »
Say has more uses than saying. Giving ops to another user, squelcing someone, etc.
I'd personally do as Joe suggests

You might be right about that, Joe.


Offline MyndFyre

  • Boticulator Extraordinaire
  • x86
  • Hero Member
  • *****
  • Posts: 4540
  • The wait is over.
    • View Profile
    • JinxBot :: the evolution in boticulation
Re: Should a moderation bot have a GUI?
« Reply #6 on: April 11, 2006, 08:04:04 pm »
Giving ops to another user,
!designate user

squelcing someone, etc.
!ignore user

IMO, say should never be permitted to say a command.  Placing this restriction allows you to avoid running some security checks on outgoing packets.  For example, I would assume the !designate command checks the flags of the user saying !designate.  But if you !say /designate, and you permit that, you'd need to make sure that the user saying !say also has the flag to !designate.
I have a programming folder, and I have nothing of value there

Running with Code has a new home!

Our species really annoys me.

Offline wires

  • Pwnage
  • x86
  • Hero Member
  • *****
  • Posts: 1103
  • cocaine is fun!
    • View Profile
    • Weapon Of Mass Destruction
Re: Should a moderation bot have a GUI?
« Reply #7 on: April 12, 2006, 05:23:13 pm »
Say has more uses than saying. Giving ops to another user, squelcing someone, etc.
That's what <trigger>[designate/squelch] <username> is for.

Giving ops to another user,
!designate user

squelcing someone, etc.
!ignore user

IMO, say should never be permitted to say a command.  Placing this restriction allows you to avoid running some security checks on outgoing packets.  For example, I would assume the !designate command checks the flags of the user saying !designate.  But if you !say /designate, and you permit that, you'd need to make sure that the user saying !say also has the flag to !designate.
That's my point exactly.  It can easily be abused.

Offline Newby

  • x86
  • Hero Member
  • *****
  • Posts: 10877
  • Thrash!
    • View Profile
Re: Should a moderation bot have a GUI?
« Reply #8 on: April 12, 2006, 05:28:26 pm »
IMO, nothing wrong with a UI (a GUI for that matter) if you prioritize it right.

If it gets in the way of processing events related to moderation, you fucked up somewhere.
- Newby
http://www.x86labs.org

Quote
[17:32:45] * xar sets mode: -oooooooooo algorithm ban chris cipher newby stdio TehUser tnarongi|away vursed warz
[17:32:54] * xar sets mode: +o newby
[17:32:58] <xar> new rule
[17:33:02] <xar> me and newby rule all

I'd bet that you're currently bloated like a water ballon on a hot summer's day.

That analogy doesn't even make sense.  Why would a water balloon be especially bloated on a hot summer's day? For your sake, I hope there wasn't too much logic testing on your LSAT. 

Offline Eric

  • Full Member
  • ***
  • Posts: 304
  • I'm new here!
    • View Profile
Re: Should a moderation bot have a GUI?
« Reply #9 on: April 12, 2006, 10:31:57 pm »
There's no purpose for adding a UI on such a bot.  Channel moderating bots should always have some sort of logging feature.  This should be sufficient.

Offline Furious

  • Hero Member
  • *****
  • Posts: 1833
  • I hate rabbits
    • View Profile
Re: Should a moderation bot have a GUI?
« Reply #10 on: April 12, 2006, 10:34:49 pm »
There's no purpose for adding a UI on such a bot.  Channel moderating bots should always have some sort of logging feature.  This should be sufficient.

My thoughts exactly.
Quote
[23:04:34] <deadly7[x86]> Newby[x86]
[23:04:35] <deadly7[x86]> YOU ARE AN EMO
[23:04:39] <Newby[x86]> shush it woman

Quote
[17:53:31] InsaneJoey[e2] was banned by x86 (GO EAT A BAG OF FUCK ASSHOLE (randomban)).

Quote from: Ergot
Put it this way Joe... you're on my Buddy List... if there's no one else on an you're the only one, I'd rather talk to myself.

Offline MyndFyre

  • Boticulator Extraordinaire
  • x86
  • Hero Member
  • *****
  • Posts: 4540
  • The wait is over.
    • View Profile
    • JinxBot :: the evolution in boticulation
Re: Should a moderation bot have a GUI?
« Reply #11 on: April 12, 2006, 10:51:22 pm »
There's no purpose for adding a UI on such a bot.  Channel moderating bots should always have some sort of logging feature.  This should be sufficient.

Oh I don't know.... maybe USABILITY?  FLEXIBILITY?

Like Newby said, as long as it's coded correctly and the priorities are in the right order, adding a GUI doesn't hurt anything.
I have a programming folder, and I have nothing of value there

Running with Code has a new home!

Our species really annoys me.

Offline Eric

  • Full Member
  • ***
  • Posts: 304
  • I'm new here!
    • View Profile
Re: Should a moderation bot have a GUI?
« Reply #12 on: April 12, 2006, 10:59:03 pm »
There's no purpose for adding a UI on such a bot.  Channel moderating bots should always have some sort of logging feature.  This should be sufficient.

Oh I don't know.... maybe USABILITY?  FLEXIBILITY?

Like Newby said, as long as it's coded correctly and the priorities are in the right order, adding a GUI doesn't hurt anything.

You should only be capable of accessing the bot through the medium in which it was designed to operate on—Battle.net.  Keeping this in mind, I don't understand what kind of flexibility or "usability" you'd need here.  Perhaps you wish to leave room for in-bot game and ladder listings?  Clarify, please.

Offline Newby

  • x86
  • Hero Member
  • *****
  • Posts: 10877
  • Thrash!
    • View Profile
Re: Should a moderation bot have a GUI?
« Reply #13 on: April 13, 2006, 02:27:52 pm »
Oh I don't know.... maybe USABILITY?  FLEXIBILITY?

Like Newby said, as long as it's coded correctly and the priorities are in the right order, adding a GUI doesn't hurt anything.

You should only be capable of accessing the bot through the medium in which it was designed to operate on—Battle.net.  Keeping this in mind, I don't understand what kind of flexibility or "usability" you'd need here.  Perhaps you wish to leave room for in-bot game and ladder listings?  Clarify, please.

What if the bot disconnects and it won't reconnect? Perhaps you'd like to have some sort of interface to manage it?

What if you need to access the bot locally and don't want to waste the time going through Battle.net servers to access it?
- Newby
http://www.x86labs.org

Quote
[17:32:45] * xar sets mode: -oooooooooo algorithm ban chris cipher newby stdio TehUser tnarongi|away vursed warz
[17:32:54] * xar sets mode: +o newby
[17:32:58] <xar> new rule
[17:33:02] <xar> me and newby rule all

I'd bet that you're currently bloated like a water ballon on a hot summer's day.

That analogy doesn't even make sense.  Why would a water balloon be especially bloated on a hot summer's day? For your sake, I hope there wasn't too much logic testing on your LSAT. 

Offline MyndFyre

  • Boticulator Extraordinaire
  • x86
  • Hero Member
  • *****
  • Posts: 4540
  • The wait is over.
    • View Profile
    • JinxBot :: the evolution in boticulation
Re: Should a moderation bot have a GUI?
« Reply #14 on: April 13, 2006, 02:31:03 pm »
What if the bot disconnects and it won't reconnect? Perhaps you'd like to have some sort of interface to manage it?

What if you need to access the bot locally and don't want to waste the time going through Battle.net servers to access it?
The mightly Lord[nK] already answered that Newby.  Duh.

You should only be capable of accessing the bot through the medium in which it was designed to operate on—Battle.net.

Obviously if the bot disconnects you're a fucktard who can't program.
I have a programming folder, and I have nothing of value there

Running with Code has a new home!

Our species really annoys me.

Offline rabbit

  • x86
  • Hero Member
  • *****
  • Posts: 8092
  • I speak for the entire clan (except Joe)
    • View Profile
Re: Should a moderation bot have a GUI?
« Reply #15 on: April 13, 2006, 07:51:20 pm »
Or you got disconnected for a game patch?

Offline wires

  • Pwnage
  • x86
  • Hero Member
  • *****
  • Posts: 1103
  • cocaine is fun!
    • View Profile
    • Weapon Of Mass Destruction
Re: Should a moderation bot have a GUI?
« Reply #16 on: April 13, 2006, 10:32:45 pm »
Or you got disconnected for a game patch?
You don't always get disconnected, hell I think sometimes you can use the older version for a while even after the new patch.

Offline Eric

  • Full Member
  • ***
  • Posts: 304
  • I'm new here!
    • View Profile
Re: Should a moderation bot have a GUI?
« Reply #17 on: April 13, 2006, 10:40:20 pm »
Oh I don't know.... maybe USABILITY?  FLEXIBILITY?

Like Newby said, as long as it's coded correctly and the priorities are in the right order, adding a GUI doesn't hurt anything.

You should only be capable of accessing the bot through the medium in which it was designed to operate on—Battle.net.  Keeping this in mind, I don't understand what kind of flexibility or "usability" you'd need here.  Perhaps you wish to leave room for in-bot game and ladder listings?  Clarify, please.

What if you need to access the bot locally and don't want to waste the time going through Battle.net servers to access it?

What if someone else using your computer decided to do the same?

Quote
What if the bot disconnects and it won't reconnect? Perhaps you'd like to have some sort of interface to manage it?

The logs would allow you to determine the cause of the problem and automatic reconnections should handle the rest.  I suppose that in some cases you may need to restart the bot, the same as you would restart a failing system service.  The goal is, as MyndFyre so elegantly put it, to not program like a "fucktard" and to prepare for the worst while hoping for the best.  That should be your goal for all programming projects, whether they have a UI/GUI or not.  The best bots are the ones that can function without significant user intervention.  That's why they are called "bots."
« Last Edit: April 13, 2006, 10:51:06 pm by Lord[nK] »

Offline Newby

  • x86
  • Hero Member
  • *****
  • Posts: 10877
  • Thrash!
    • View Profile
Re: Should a moderation bot have a GUI?
« Reply #18 on: April 13, 2006, 11:13:17 pm »
What if someone else using your computer decided to do the same?

Uhm, I don't let people use my computer when I'm not on it. It's called a screensaver with a password.

I could also have the interface require a password to re-draw itself after being minimized. Or something to that extent.

The logs would allow you to determine the cause of the problem and automatic reconnections should handle the rest.

A "logging" interface, as in the one similar to pf and pflog? (I've had to tcpdump on pflog0, it's pretty neat) Or do you mean opening up notepad after you realize your bot has been offline for a few hours to scroll to the bottom of a noisy log to find out what the problem is?
- Newby
http://www.x86labs.org

Quote
[17:32:45] * xar sets mode: -oooooooooo algorithm ban chris cipher newby stdio TehUser tnarongi|away vursed warz
[17:32:54] * xar sets mode: +o newby
[17:32:58] <xar> new rule
[17:33:02] <xar> me and newby rule all

I'd bet that you're currently bloated like a water ballon on a hot summer's day.

That analogy doesn't even make sense.  Why would a water balloon be especially bloated on a hot summer's day? For your sake, I hope there wasn't too much logic testing on your LSAT. 

Offline iago

  • Leader
  • Administrator
  • Hero Member
  • *****
  • Posts: 17914
  • Fnord.
    • View Profile
    • SkullSecurity
Re: Should a moderation bot have a GUI?
« Reply #19 on: April 14, 2006, 01:06:32 pm »
You guys are crazy. 

A bot should have an optional GUI.  People who want to can use it, people who don't won't have to. 

Better yet, make the GUI completely decoupled from the program, to the point where you can use it over a network.  Because most people don't run moderation bots on their own machine but they would still like to see and configure it. 

So yeah, OPTIONAL.  You fools.  Let the user decide. 

Offline Furious

  • Hero Member
  • *****
  • Posts: 1833
  • I hate rabbits
    • View Profile
Re: Should a moderation bot have a GUI?
« Reply #20 on: April 14, 2006, 03:30:00 pm »
What if someone else using your computer decided to do the same?

Uhm, I don't let people use my computer when I'm not on it. It's called a screensaver with a password.

I could also have the interface require a password to re-draw itself after being minimized. Or something to that extent.

The logs would allow you to determine the cause of the problem and automatic reconnections should handle the rest.

A "logging" interface, as in the one similar to pf and pflog? (I've had to tcpdump on pflog0, it's pretty neat) Or do you mean opening up notepad after you realize your bot has been offline for a few hours to scroll to the bottom of a noisy log to find out what the problem is?

The bot(s) I currently use log different situations in different files.  All login information is logged in one file, chat is logged in one file, and commands logged in another.
Quote
[23:04:34] <deadly7[x86]> Newby[x86]
[23:04:35] <deadly7[x86]> YOU ARE AN EMO
[23:04:39] <Newby[x86]> shush it woman

Quote
[17:53:31] InsaneJoey[e2] was banned by x86 (GO EAT A BAG OF FUCK ASSHOLE (randomban)).

Quote from: Ergot
Put it this way Joe... you're on my Buddy List... if there's no one else on an you're the only one, I'd rather talk to myself.