Operating IRC
As we are managing an IRC channel, here is some background, including a few operator commands.
- Prefix of commands to:
- IRC servers:
/
- gncbot:
@
- IRC servers:
Contents
Gncbot
Usually at code.gnucash.org gncbot, currently a Supybot, is running. He has several administrative tasks like granting rights and logging. There a several ways to contact him:
- or shorter
<you> /msg gncbot <bot command>
In the previous method the <bot command> is always visible to other users, but also in the first, if you mistyped it. If you have to enter a password it is safer to use<you> @<bot command>
opens (in modern chat clients) a new window with a private query to the bot<you> /query gncbot
<you> <bot command>
- If you are in the operator group, he should grant you operator rights after identifying.
- If gncbot got disconnected, sombody has to grant him the rights again:
- /op gncbot to op the gncbot. @op gncbot returns an error.
- If gncbot got a wrong name like gncbot', rename him by
@nick gncbot
Getting Operator Privileges
If you become a core developer of GnuCash, Operator Privilegs will be granted to you. There a two alternative ways to activate them (Gncbot is the preferred method):
From Gncbot
- Setup
-
- You need to register your nick[s] and a password once with gncbot. The easiest way to do that is to:
<you> /msg gncbot register <name> <password>
- Once you are registered, the channel owner needs to add you to the list of channel operators so that gncbot knows to provide channel ops. This is done via the capability add admin function:
<admin> capability add <username> #gnucash,op
- You need to register your nick[s] and a password once with gncbot. The easiest way to do that is to:
- Usage
-
- Each time you connect, open a query with gncbot:
<you> identify <nick> <password> <gncbot> The operation succeeded. <you> op #gnucash
- You can also do this within the #gnucash channel directly:
<you> /msg gncbot identify <name> <password> <gncbot> The operation succeeded <you> @op <gncbot> The operation succeeded
- Warning
- If you mistype the /msg command, your password gets exposed to the channel and its logs.
- Each time you connect, open a query with gncbot:
From IRC NickServ and ChanServ
- Setup
-
- You need to register your nick[s] and password once at GIMPnet IRC. You do this by sending a message to the NickServ identity to register after setting your nick:
<you> /msg nickserv register <password> <email> <nickserv> The operation Succeeded
- Note
- The email will be used in other nickserv commands like resetpass.
- The channel owner then needs to add you to the list of users in the Channel Server. This is done by setting the user access in Chanserv:
<admin> /msg ChanServ access #gnucash add <username> 5
- You need to register your nick[s] and password once at GIMPnet IRC. You do this by sending a message to the NickServ identity to register after setting your nick:
- Usage
- Then each time you connect, you identify with your nick and password against GIMPnet IRC:
<you> /msg nickserv identify <name> <password> <nickserv> The operation succeeded
Topic
The topic is displayed when a user joins the channel.
- Default
- /t Free GPL Personal and Small Business Accounting || Please don't ask to ask, just ask and wait! (Possibly a few hours!!) || publicly-logged channel || latest stable: 5.8 || www.gnucash.org/ || wiki.gnucash.org/wiki/
- under attack
- /t Free GPL Personal and Small Business Accounting || Moderated mode: To get a voice, register with NickServ and then re-join. || Please don't ask to ask, just ask and wait! (Possibly a few hours!!) || publicly-logged channel || latest stable: 5.8 || www.gnucash.org/ || wiki.gnucash.org/wiki/
See #Channel Moderation.
Notes maintenance
IRC users can post a message to other users that are currently offline by using@tell <nick> something
The next time <nick> speaks up in the channel, gncbot will automatically print the saved message for <nick>.
For various reasons these messages can queue up quasi forever in the bot's message queue. For example
- <nick> never returns to the channel.
- the @tell command was used incorrectly, like <nick> got misspelled, or a comma or colon were appended to the <nick>, resulting in messages being queued for <nick,> or <nick:>
There are a few commands that can help in routine maintenance on the message queue:
- notes
- will show all nicks for which messages are queued
- notes <nick>
- will show message for <nick>, including the message age
- remove <nick>
- will remove all queued messages for <nick>. You need to have channel operator privileges to be able to do this for anyone other than yourself (that is your nick has to be registered with gncbot with operator privileges and you have to 'identify' yourself before running remove)
- Note
- when on the public channel these commands should be prepended with '@' for our bot to pick them up. If in a private chat with gncbot, that's not needed.
Here are my recommendations:
- from time to time enter in private conversation with gncbot and check who has messages waiting in the queue.
- check the messages for individual nicks and if the messages are older than a year, remove them
- for impossible nicks (like those with a : or ,) ping the user when online and play the message for them using the @notes <impossible-nick> command in the public channel. Then remove the message.
Fighting Spam
Channel Moderation
On March 2, 2019, GIMPnet started receiving a flood of flyby spammers using random names AND a whole botnet worth of IP Addresses, making it difficult to defend against. To that end, we turned on channel moderation (requiring users to have a voice in order to say anything). This way we know users must have a registered account and can easily be banned if they misbehave. Then enabled NickServ and ChanServ to auto-voice identified users: /msg Chanserv levels #gnucash set autovoice 0
The next step was to turn moderation on in the #gnucash channel: /mode +m
- Tip
- In clients like Konversation you can click on topic to open a dialog to set topic, modi and bannlist.
This gets accepted but has no effect: /msg ChanServ mode #gnucash set +m
If we feel that we don't need it anymore, we can turn it off (/mode -m
and no longer require users to have a voice.
Secret Channel
On September 30, 2023 we got spammed again.
On 2023-10-01 we have set mode: +s.
We hope the spam bots are using /msg ChanServ list *
to get their targets. then they will not see us.
Freenode redirect
User:Jsled created in 2010 irc.freenode.net/gnucash with /topic „The real #gnucash is irc://irc.gnome.org/gnucash ; GnuCash - GPL Personal Finance and Small Business Management“.
Further Reading
Because under attack heavy delays can happen, some help is cached here.
ChanServ Help
/server irc.gnome.org
/msg ChanServ help
ChanServ allows you to register and control various aspects of channels. ChanServ can often prevent malicious users from "taking over" channels by limiting who is allowed channel operator privileges. Available commands are listed below; to use them, type
/msg ChanServ command. For more information on a specific command, type /msg ChanServ HELP command.
BAN Bans a given nick or mask on a channel
DROP Cancel the registration of a channel
GETKEY Returns the key of the given channel
HELP Displays this list and give information about commands
INFO Lists information about the specified registered channel
INVITE Invites you or an optionally specified nick into a channel
KICK Kicks a specified nick from a channel
LIST Lists all registered channels matching the given pattern
REGISTER Register a channel
STATUS Find a user's status on a channel
UNBAN Remove all bans preventing a user from entering a channel
Used to manage the list of privileged users
ACCESS, AOP, FLAGS, HOP, LEVELS, QOP, SOP, VOP
Used to modify the channel status of you or other users
DEHALFOP, DEOP, DEOWNER, DEPROTECT, DEVOICE, DOWN, HALFOP, OP, OWNER, PROTECT, UP, VOICE
Used to manage channels
AKICK, CLONE, ENFORCE, ENTRYMSG, LOG, MODE, SET, SYNC, TOPIC
Use the HELP ALL command to list all commands and their descriptions.
Note that any channel which is not used for 6000 days (i.e. which no user on the channel's access list enters for that period of time) will be automatically dropped.
Back to Project Administration