GeekShed Bot Policy

A bot is defined as any client which joins a channel on the GeekShed IRC network and interacts with it through one or more automated scripts. If your own IRC client runs scripts which can be automatically triggered you are considered to be a bot and may be banned from the network for joining channels without the owner’s permission. To avoid this, be fully aware of the scripts that your client is running and ensure any trigger scripts are disabled in channels where permission has not been given to run them.

The following is an example of such a script:

<Phil> !uptime
<darkly57> I have been awake for 6days 7hrs 6mins 23secs


Bots are welcome on GeekShed providing that they abide by the Terms of Service. Although the whole of this document is relevant the parts especially relevant to bots are sections 7 and 8.

The most important thing to remember is: bots should NOT be joined to channels without the permission of the channel owner.

If you have any questions on allowed bots, please visit us in #help on irc.geekshed.net.

Setting a ban appeal procedure for your channel

We have written and loaded a module into services to allow you to specify a ban appeal procedure for your channel. This module will allow users to see your ban appeal information when they do /cs info #yourchannel and also online at http://www.geekshed.net/chanban/. We have made this URL easy to remember so that you can point people to it if they enter your channel asking about a ban in another channel.

Note: Because of the nature of services, this web page may be up to 5 mins out of date. Every channel with a ban appeal procedure specified will show up on this web page. If you do not wish your channel to show up do NOT specify a ban appeal procedure.

To specify ban appeal information for your channel use the following command:

/cs SET channel BANINFO [info]

An example of this would be:

/cs set #phil baninfo Bans cannot be appealed

To remove this, do the command with no appeal procedure specified. For example:

/cs set #phil baninfo

If you have any questions, ask in #help.

Ban Appeal Module

Due to the increasing number of people whining about channel bans in other channels, we came up with an easy solution. This was to create the page at http://www.geekshed.net/2010/04/ban-appeals/ and add information of channel’s ban appeal procedures. This page can than be linked to when someone is wondering what they can do about a channel ban.

However, this is a very messy solution and one that would take much time to maintain. Instead, we have come up with a better solution! We have written and loaded a module for Anope which allows anyone with access to ChanServ’s SET command, on a channel, to set a ban appeal procedure for that channel. This will, sometime in the near future, have the data taken from it and placed dynamically in the table you see in the link above. However, for the moment, ban appeal procedure info is shown if you do a “/cs info” command on a channel. For example: /cs info #help. You will see “Ban appeal information: Bans cannot be appealed”.

To set a ban appeal procedure on your channel use the following command:

/CS SET #channel BANINFO your ban info

For example:

/cs set #help baninfo Bans cannot be appealed

To remove the ban appeal procedure from your channel, just emit the procedure. For example:

/cs set #help baninfo

Anyone who requested that an appeal procedure be added to the site has had it automatically ported over into the new module.

Note: When the web page generation is complete EVERY channel with a ban appeal procedure set will be listed. If you don’t want your channel to be listed do not set an appeal procedure!

Ban Appeals

If you are banned from a channel on GeekShed you will find no help in other channels, especially #help. This post lists the ban appeal procedures for various channels on GeekShed. If the channel you were banned from is not listed on this page and you wish to appeal the ban you should PM the person who banned you. If they do not want to hear you out you should accept this and not PM them further.

This table lists the ban appeal procedures for channels:

Search For Channel:
Channel Appeal Procedure

How to add a list of users in your GeekShed IRC channel to your website

GeekShed now provides a live XML formatted output of users in your channel. This can be parsed and placed on your own website in the form of a list, table, etc.

The XML output can be found at http://www.geekshed.net/usertable.php?chan=. An example of the use of this for #phil is http://www.geekshed.net/usertable.php?chan=phil. To parse this into a table on your website, you can use the following PHP code. All you need do is place the code at the required location on the page and adjust the channel name at the top of the code. Following this, you can adjust the HTML to fit your site’s requirements.

<?php
// Edit This
$chan = 'phil';

// Don't edit this
$xml = simplexml_load_file('http://www.geekshed.net/usertable.php?chan='.$chan);
?>

<!-- Edit this HTML to suit your layout -->

<table>
   <tr>
      <td style="text-align: center;"><strong>Nickname</strong></td>
      <td style="text-align: center;"><strong>Status</strong></td>
      <td style="text-align: center;"><strong>Clones</strong></td>
      <td style="text-align: center;"><strong>Active (Not Away)</strong></td>
   </tr>

<?php
foreach ($xml->user as $user) {
   echo "\t<tr>\n";
   echo "\t\t<td style=\"text-align: center;\">{$user->nick}</td>\n";
   echo "\t\t<td style=\"text-align: center;\">{$user->status}</td>\n";
   echo "\t\t<td style=\"text-align: center;\">{$user->clones}</td>\n";
   echo "\t\t<td style=\"text-align: center;\">{$user->away}</td>\n";
   echo "\t</tr>\n";
}
?>
</table>


You can also access the away message left by a user who is away using $user->awaymsg inside the foreach loop.

The DTD for the XML can be found at http://www.geekshed.net/xml/userlist.dtd.

As at 08 April 2010 the returned XML now has double escaped entities (e.g. < goes to &lt; and ASCII char 2 goes to &#002;). SimpleXML in the above example will do a single unescape on these such that &lt; goes to < such that it can be used in web pages whilst keeping them valid. If you use it for anything else you will need to be sure to unescape sufficiently to give you the original characters.

If you have any questions about this, ask in #help.

New Staff Member – Stuzilla

Over the past few weeks, we at GeekShed have been working to identify the areas of service which are lacking, and any changes that could be made in order to improve your experience on GeekShed. We have noticed that the number of trolls (someone who posts inflammatory, extraneous, or off-topic messages in an online community, such as an online discussion forum, chat room or blog, with the primary intent of provoking other users into an emotional response) is on the increase.

Because of this, we have identified the requirement for the appointment of a public relations consultant to head up the team whose primary role will be to combat the effects of trolling on GeekShed.

Stuzilla has been on GeekShed for many years and his appointment was provoked by his extensive experience and the friendly rapport he creates with many users. In a recent user spawned petition named “Make Stuzilla an Oper” he received over 1000 signatures of support. This is truly overwhelming and we cannot ignore this.

EDIT: For those of you who didn’t notice (this includes most people) this was an April fools Joke. Have a nice day.

IdleRPG Contest!

Calling all chatters!

Are you pondering how you could possibly earn a gift card for doing nothing more than just chatting like you already do?

If so, #IdleRPG is for you.

Corey from CoreyRants.com is sponsoring a contest involving our #IdleRPG game and room.

The basis of IdleRPG is to see who can idle the longest in #IdleRPG without parting the channel, quitting the network, changing your nick, or chatting in #IdleRPG.

For your chance to win a gift card, check out CoreyRants.com for the complete details, registration information and rules of the game.

Please Note: The Contest starts April 1st, 2010, and goes until June 1st, 2010

Can I Make A Private/Secret/Restricted Channel?

At least twice a month, someone will come into #help asking about private channels or how they can secure their channel to prevent anyone except those they want in it. Since there are probably those that would like to know, but don’t ask, here is the quick and dirty guide to private/secret channels.

Every channel is able to be either private (+p), or secret (+s). The two modes are similar, but it is possible for people to find out about a channel that is marked private (+p). Therefore, if you want a channel nobody will be able to find out about unless they’re told, it is recommended that you mark it as secret, +s. Unless you are in the channel or an IRCop, the server will pretend that the channel doesn’t exist.

There is also channel mode +i, which will let people in only when they have been invited. If the channel is registered with chanserv, those on the access list can /msg chanserv invite #channel, and chanserv (or the botserv bot, if the channel has one) will invite the person into the channel. Standing invites can also be set using channel mode +I, which takes a nick!ident@host mask as a parameter. If the person is not on the access list, and does not have +I set for themselves, they are able to “knock” on the channel by doing /knock #channel optional_message.

You can also set a “key” on the channel using channel mode +k, which takes the key to use as a parameter. If I wanted to set a key on my channel, I would do /mode #serenity +k Kaylee. In order to get in the channel, someone would need to specify the key when they try to join – /join #serenity Kaylee. Alternatively, they can also be invited into the channel and will not need the key.

If the channel is registered, those modes can be mlock’ed, so that they will be reapplied when the channel is recreated (i.e. is empty and someone joins). It is important to note that if the channel is empty, needing a key or an invite is not necessary to join the channel. That is where the next item comes into play.

It is also possible to set a channel to have restricted access. When this option is set, only the people you add to the access list will be able to join. When someone that is not on the list attempts to join, they are kickbanned by chanserv (or the botserv bot, if you have added one) with the reason “You are not permitted to be on this channel”.

Since when you set your channel to restricted access you normally don’t want people to know about it, it is recommended to also mlock it +s. To set both the restricted access and mlock, you need to enter the following two commands, replacing #channel with your actual channel:
/msg chanserv set #channel mlock +s
/msg chanserv set #channel restricted on
Note: If you already have some modes set with mlock, you will need to respecify them when you add +s. So if you have +n (no external messages) set with mlock, you would need to do /msg chanserv set #channel mlock +sn.

Should you have any questions concerning setting your channel to restricted access, feel free to stop in #help and ask.

What is SSL? What Benefits Does it Offer, and How do I Use It?

SSL stands for Secure Sockets Layer, and is a method of encrypting data being transmitted over the Internet that is used by e-commerce sites and other sites that require sending and receiving sensitive information.. This means that when you give your credit card or bank information to PayPal or Amazon, to name two, your information is protected. The same can be done for your IRC connection.

The main benefit of connecting to IRC via SSL is that all content you send to the server is encrypted, as well as all data the server sends you. This is useful if you are connecting from a public hotspot and want to protect your passwords. If you are worried about the content of the messages in the channels you’re in, you’ll be protected on your end; however, unless everyone in the channel is also using SSL, the copies of the messages sent to them are in plain text, and could be read by anyone sniffing packets between the unencrypted user and the server. To ensure that everyone in the channel is using SSL, you can apply channel mode +z.

Since the directions for connecting over SSL differ based on the client and operating system you are using, please refer to your client’s documentation on that. The port GeekShed uses for SSL is 6697, and every server can host SSL-based connection.

Should you require assistance, feel free to leave a comment here, or ask in #help.

(We do not offer SASL support)
Related: GeekShed Certificate Authority · Login Service

Grouping a Nick: Why and How?

So you’ve registered your nick, but have more than one computer/device that you join IRC from. You might be wondering “do I need to register a new nick and have people add that nick to access lists as well? Certainly there must be an easier way.”

Well luckily for you, there is. You are able to group nicks together so that permissions and other data are shared among accounts. Some of the items that are shared include (but are not limited to): channel ownership, permission levels (owner, halfop, etc.) on channels, group info that was provided when you registered, password, and virtual host. Pretty much anything your single nick has associated with it will be associated with the group of nicks that you have registered.

Here’s how to group a nick to one that you already have registered:
  1. Switch to the nick that you want to group
    • NOTE 1: Before you enter the next command, make sure that you are using the nick you want to add to your existing group. Do NOT be using your main nick. Example: if I wanted to group JayneCobb to my account, I would /nick JayneCobb.
    • NOTE 2: If you use a registered nick when the next step if performed, it will first be dropped, then grouped to the main nick. Example: if I try to group JayneCobb (which is registered) to my main nick MalcolmReynolds, Services will first drop JayneCobb, then have it join the MalcolmReynolds group. By being dropped, any permissions JayneCobb had will be gone.
  2. Enter the following command in the server/status window: /msg nickserv group main_nick password, where main_nick is your primary nick, and password is the password belonging to the primary nick.
    Example: I want to group JayneCobb to my primary nick, MalcolmReynolds, and the password for it is S3reni+yV@ll3y (you do use something secure for your passwords, right?). I would type the following as JayneCobb: /msg nickserv group MalcolmReynolds S3reni+yV@ll3y
  3. Look for nickserv to either tell you that you have joined the group of your primay nick or give you an error message, such as “you must wait at least 60 seconds before using the group command again”.
And just to give you the commands again, they are, in order:
/nick theNewNick
/msg nickserv group main_nick password


Now what if you want to delink a nick, i.e. remove it from the group, is there some way to do that? Yes there is, you just drop it by switching to the nick, and doing /msg nickserv drop. Doing that will make nickserv completely drop the nick – it will no longer exist, have any permissions, etc.

Is there someway to delink it without dropping, or without it losing the permissions and other information? Not currently, although I suppose it is possible that it could end up in a future version of anope, or someone could create a module that could drop a nick and register it using the credentials of the former group and preserving permissions, etc.

Should you have any questions about grouping nicks, feel free to leave a comment here, or to join #help and ask in there.