This website is NOT affiliated with the Undernet IRC Network in any capacity. This is a privately operated website.

Chanfix

Introduction

Chanfix is one of the network service bots designed exclusively for unregistered channels. It allows users to maintain control of channels which don’t have X.

In the past, users were faced with the challenges of having a channel with no ops because of netsplits and connection issues, or worse, losing their channel to a takeover. All of these cases required users to seek assitance from helpers and IRC Operators (opers). To assist users, Opers and helpers would need to search through logs and listen to arguments in order to determine who rightfully owned the channel in question. This process would often be so long, that other users would be waiting in an Oper help channel for hours before being assisted. This led to a lot of frustration, and the creation of Chanfix, also known as, C.

Chanfix is designed to keep track of which ops have been opped the longest and based on that, determines who will be reopped. It’s job is to assist users with obvious take overs, and to help users regain ops in their channels. It’s not intended to replace the judgement and experience of IRC Operators who are able to exercise discernment and discretion that Chanfix can’t make.

Having chanfix automatically reop channels makes maintaining them easier for users, and can help prevent loss of the channel to newcomers. Chanfix allows regular ops to be reopped automatically, and allows regular ops to establish themselves in the channel which can help them recover the channel from most take overs.

Chanfix will only keep track of channels that:

  • Are not registered with X.
  • Have at least 1 op with a registered X username.
  • Have at least 4 users.

Chanfix will only keep track of ops who are logged into X. It does NOT matter if these ops have usermode +x set. Chanfix tracks ops based on how long they’ve been opped in a channel. More highly respected and trusted channel ops will have been opped longer in most cases, thus will get ops first during a fix.

When chanfix “fixes”, or is in the process of reopping a channel, it can op the top 5 highest scoring ops that it finds on the channel. These ops must have been opped for at least 13.5 hours total, over the past 2 weeks, to be considered for ops by chanfix. Chanfix decides who it will op based on a score. Each op Chanfix sees has their own score, between 1 and 7032.

  • For every 5 minutes you are opped, you get 1 point.
  • To get ops at all, you must have at least 281 points.

Chanfix works in three ways. It can automatically fix a channel when certain conditions are met, it can fix a channel when a channel member with a high score asks chanfix to fix the channel, or it can fix a channel when an IRC Operator instructs it to do so.

A takeover exists when someone who should not be opped gets ops, or when someone who has been recently opped deops all of the other ops in the channel. They may also ban other members from the channel, change modes, etc. If someone becomes opped who should not be opped, it can be considered a takeover. If none of the regular ops are opped to deop them, one of the regular ops can use the /msg C REQUESTOP #channel command.

Chanfix’s procedure to determine who can be reopped is the same for automaic and manual fixes. It begins with the highest possible score: 7032, and determines who can be opped.

Chanfix has two different calculations for determining scores.

  • Opped Time: For every five minutes a person is logged into X and opped in a channel, they will receive one point. (They can receive 12 points an hour, 288 points a day, 2016 points a week, for a total of 4032 points in two weeks.)
  • First Time Opped: Chanfix tracks the first time, (based on Chanfix’s memory), that someone was ever opped in the channel. It sees the timestamp of the user who was first opped, (oldest timestamp known), in addition, it calculates the days that have passed since a user was opped, (up to 14 days).

If the “First Time Opped” timestamp is 30 days or more, 3000 points is added to a user’s score. Otherwise, a factor of 100 is used. This factor is then multiplied by the number of days since the user was first opped, and the total is added to the user’s score. The maximum score from this is 3000 points.

  • If you have 7032 points, you will be reopped instantly.

When a fix is issued, Chanfix will keep reopping 5 ops with the highest score for up to an hour.

If none of the users with high scores join the channel, Chanfix will continue to run until the scores are lost. Chanfix keeps track of the last 14 days of score. If a user doesn’t join the channel, or joins it but isn’t opped, their score will decrease over time.

If the channel loses all ops, it’s important to begin the reopping procedure. To do this, you can use the commands or visit a reop channel for help. It’s best to do this as soon as possible.

In September 2011, Undernet created a way for ops in unregistered channels who are logged into X to regain control of their channel(s), without getting an IRC Operator to intervene. Chanfix is now able to decide whether or not a channel has been taken over, and op those who have the higest scores. This can be done with the /msg c REQUESTOP #channel contact command. Anyone requesting a fix must meet the following criteria:

  • The person sending the command must have a score higher than 1000 points.
  • The person sending the command must be in the top 10 highest channel scores.
  • None of the existing ops on the channel can have a high score (anything more than 2000 points). If a high score user is already opped, then it is not considered a takeover, and C will not do anything.
  • The person sending the request must have a higher score than anyone who is currently opped. If the person has a lower score than any of the current ops, it is not considered a takeover, and again, C will not do anything.
  • There is no one opped in the channel with a First Opped Date within 3 days of the oldest first opepd date. This prevents newer ops that might have higher scores from requesting a chanfix.

C may give any of these answers when the REQUESTOP command is used. Below is an exhaustive list of answers and why you may receive them.

Response from CExplanation for response
Sorry, I cant fix channels at the moment.Reopping has been disabled. You’ll need to join a help channel.
Sorry, chanfix cannot fix channels at the moment, please try again soon.C cannot do channel reops at the moment. You should try again in a few mintues
No such channel #channel_nameChances are, you’ve given an improper channel name. Please check it and try again.
#channel_name is a registered channel.C is forbidden from acting on registered channels. You’ll need to find someone with access in X to use the `/msg X op #channel_name` command to op you or themselves.
There are no scores in the database for #channel_nameThe channel did not meet the conditions for C to track scores in it. Check the “Conditions” section of this document to see what needs to be met.
Your score for #channel_name is not high enough to issue a fix.Anyone using the `/msg C requestop #channel_name` command must have a score of 1000 points or higher.
Sorry, there is somebody currently opped on #channel_name with a high score.This message can occur in the following situations. Someone with a score higher than 2000 is already opped; Someone with a score higher than your own is already opped; or Someone with a first opped date within 3 days from the channel’s oldest score is already opped.
Sorry, you are not within the top10 channel ops in #channel_nameYou don’t have enough time in the channel as an op to have one of the top 10 scores.
The channel #channel_name is already being fixed.Someone in the channel with a score has requested a reop for the channel. You need to wait until someone is opped, then they can op you. If you’re in the channel and you have the highest score, this can be you.
The channel #channel_name is being automatically fixed. You cannot issue another fix at the moment.If C is automatically reopping the channel, there is no reason for C to begin issuing a second fix. Wait until someone is opped, and they can op you. If your score is high enough, this may be you.
The channel name #channel_name cannot be fixed, please contact a help channel for further information.C can’t decide if the channel should be fixed or not. You’ll need to join one of the reopping channels (#arlington, #nastrand, or #zt) and inform them of the message.
Fixing #channel_name, please wait.Your request was accepted. C will start the manual fix process.
#channel names channel modes have been removed to allow you to return. Please return so that I can op you during the channel fixing process.This message will be received by all of the top scoring users, who are online and not in the channel, if the contact switch was used when the command was issued. (Example: `/msg C requestop #class contact`)
You must wait 15268 days, 20:42:49 seconds before #channel_name can be fixed again with this command, or contact a help channel.You should try to make sure that your channel is always opped after using the REQUESTOP command, or C might give you a message like this, and you will need to wait 14,000 years (or try to get help in #arlington, #nastrand, or #zt)

If for any reason you think you’ve gotten one of these replies from C in error, please visit one of the reopping channels (#arlington, #nastrand, or #zt) and inform the staff. These channels are also excellent places to ask any questions you might have, including questions about C and the manual reopping process.