{
	"version": "https://jsonfeed.org/version/1.1",
	"title": "DigitalIRC",
	"language": "en",
	"home_page_url": "https://digitalirc.org/",
	"feed_url": "https://digitalirc.org/feed/feed.json",
	"description": "I am writing about my experiences as a naval navel-gazer.",
	"author": {
		"name": "DigitalIRC",
		"url": "https://digitalirc.org/about-me/"
	},
	"items": [
		{
			"id": "https://digitalirc.org/blog/webchat-refresh/",
			"url": "https://digitalirc.org/blog/webchat-refresh/",
			"title": "Webchat Refresh",
			"content_html": "<h1 id=\"new-and-shiny\" tabindex=\"-1\">New and shiny <a class=\"header-anchor\" href=\"https://digitalirc.org/blog/webchat-refresh/\">#</a></h1>\n<p>Since day 1 of DigitalIRC we have had a webchat. It was one of the reasons this network was actually started.</p>\n<p>Our current webchat is <a href=\"https://thelounge.chat/\">TheLounge</a> and has been working quite well for DigitalIRC for several years.\nIt has one major downside for us though. We have to host it on our servers.</p>\n<p>That is why with in <a href=\"https://www.unrealircd.org/\">UnrealIRCd</a> 6.0.5 adding <a href=\"https://www.unrealircd.org/docs/WebSocket_support\">websocket support</a> in 2022, we've been working on adding websockets as an available method to connect to the IRC network.</p>\n<p>Today we are announcing two websocket based clients which are hosted on DigitalIRC domains but are fully static websites hosted on our CDN edge. <a href=\"https://kiwi.webchat.digitalirc.org/\">KiwiIRC</a> and <a href=\"https://gamja.webchat.digitalirc.org/\">Gamja</a></p>\n<p>KiwiIRC is a returning client, we used an older version of it without websockets before the move to TheLounge, and Gamja is a simple IRC client in the browser which and is the webchat client of choice for one of the <a href=\"https://netsplit.de/networks/top100.php\">largest IRC networks</a>.</p>\n<ul>\n<li>KiwiIRC will be available at <a href=\"https://kiwi.webchat.digitalirc.org\">kiwi.webchat.digitalirc.org</a></li>\n<li>Gamja will be available at <a href=\"https://gamja.webchat.digitalirc.org\">gamja.webchat.digitalirc.org</a></li>\n</ul>\n<h1 id=\"webchat-is-dead-long-live-the-webchat\" tabindex=\"-1\">Webchat is dead! Long live the Webchat <a class=\"header-anchor\" href=\"https://digitalirc.org/blog/webchat-refresh/\">#</a></h1>\n<p>As these two new webchats are rolled out we must also announce that Gamja will as of January 2025 become the new default webchat with TheLounge webchat (moving to lounge.webchat.digitalirc.org) eventually being retired by July 2025.</p>\n<p>If you use TheLounge webchat embedded into a website, your embedded url options <em>WILL CHANGE</em>.</p>\n<p>On the good side you can now host your own webchat and set any custom options you want!</p>\n<p>For Gamja please see <a href=\"https://git.sr.ht/~emersion/gamja/tree/HEAD/doc/url-params.md\">this page for a list of URL parameters</a> you can set.\nFor KiwiIRC please see <a href=\"https://github.com/kiwiirc/kiwiirc/wiki/Linking-to-and-Embedding-Kiwi-IRC\">this page for a list of URL parameters</a> you can set.</p>\n<h1 id=\"so-websockets\" tabindex=\"-1\">So websockets? <a class=\"header-anchor\" href=\"https://digitalirc.org/blog/webchat-refresh/\">#</a></h1>\n<p>So we've been trialing websockets connecting to IRC for nearly 2 years and we now consider them to be good enough for GA. If you want to connect to the IRC via a websocket a round robin address has been setup.</p>\n<p>To connect use <code>wss://irc-websocket.digitalirc.org:8433</code>. Currently there are 3 servers configured to offer websocket connections, and we only offer secure websockets.</p>\n",
			"date_published": "2024-10-01T00:00:00Z"
		}
		,
		{
			"id": "https://digitalirc.org/blog/security-groups/",
			"url": "https://digitalirc.org/blog/security-groups/",
			"title": "Security Groups",
			"content_html": "<p>I don’t think it needs to be said but security is important to users of the DigitalIRC Network. In line with our continued mission to provide the best experience possible for users of the network we are introducing Security Group as a new <a href=\"https://digitalirc.org/2013/11/extended-bans/\">extended ban type</a>.</p>\n<h1 id=\"introducing-extended-ban-type-g\" tabindex=\"-1\">Introducing extended ban type ~G <a class=\"header-anchor\" href=\"https://digitalirc.org/blog/security-groups/\">#</a></h1>\n<p>Security Groups are a new feature of the IRCd we use for the network which allows users to be put into groups based on various categories.</p>\n<ul>\n<li>Are they identified</li>\n<li>Have they been on the network for a while</li>\n<li>Are they from a webchat</li>\n<li>etc</li>\n</ul>\n<h1 id=\"available-security-groups\" tabindex=\"-1\">Available Security Groups <a class=\"header-anchor\" href=\"https://digitalirc.org/blog/security-groups/\">#</a></h1>\n<p>The Groups currently defined are</p>\n<table>\n<thead>\n<tr>\n<th>Group</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>known-users</td>\n<td>Identified with services and has been connected for a reasonable length of time</td>\n</tr>\n<tr>\n<td>unknown-users</td>\n<td>Users who are not connected to webchat, are not identified with services, and are new to the network.</td>\n</tr>\n<tr>\n<td>unidentified</td>\n<td>Users who are not identified to services.</td>\n</tr>\n<tr>\n<td>webchat</td>\n<td>Users connected via an approved webchat (Our own, kiwiirc, etc) and are not identified with services.</td>\n</tr>\n<tr>\n<td>webchat-identified</td>\n<td>Users connected via an approved webchat (Our own, kiwiirc, etc) and are identified with services.</td>\n</tr>\n<tr>\n<td>webchat-reputation</td>\n<td>Users connected via an approved webchat (Our own, kiwiirc, etc) and are not identified with services, but have been connected for a while (i.e. not new connections to the network).</td>\n</tr>\n<tr>\n<td>webchat-all</td>\n<td>All users connected via an approved webchat.</td>\n</tr>\n<tr>\n<td>unknown-reputation-users</td>\n<td>Users who are not connected to webchat and are not identified with services but have been connected for a reasonable length of time.</td>\n</tr>\n</tbody>\n</table>\n<p>More info about how <a href=\"https://www.unrealircd.org/docs/Reputation_score\">reputation works</a></p>\n<p>We also use the Security Groups to reduce flooding by restricting the number of actions a user may take depending on which group they fall into.</p>\n<h1 id=\"example-usage\" tabindex=\"-1\">Example Usage <a class=\"header-anchor\" href=\"https://digitalirc.org/blog/security-groups/\">#</a></h1>\n<p>As you can see from the table above if you want to ban webchat users you can now easily do it. Just do <code>/mode +b ~G:webchat-all</code> and that’s it, all webchat users will now be banned from the channel.</p>\n<p>Users may fall into multiple groups, and you can even add a NOT operator to any ban. For example <code>/mode +b ~G:!webchat-all</code> would match all users that do not fall into the webchat-all group.</p>\n<p>As always if you have any feedback for groups you want feel free to ask in <code>#irc-help</code> with your usecase</p>\n",
			"date_published": "2021-07-03T00:00:00Z"
		}
		,
		{
			"id": "https://digitalirc.org/blog/deep-linking-and-webchats/",
			"url": "https://digitalirc.org/blog/deep-linking-and-webchats/",
			"title": "Deep Linking and Webchats",
			"content_html": "<p>Webchat, to many it’s the only way they interact with the IRC network and chat with their friends. This is because for most it’s the easiest way for them to access the network, no installs, no configs, it just works.</p>\n<p>From a recent query we got in <a href=\"https://webchat.digitalirc.org/#/connect?join=Help\">#help</a> we realised that there was no offical documentation for how to deeplink to a channel with the DigitalIRC Webchat or our backup <a href=\"https://kiwiirc.com/client?settings=0f3e994c84290c080344dd64496537e7\">KiwiIRC Webchat</a>.</p>\n<p>When we talk about deeplinking we are talking about a way to directly link so the webchat will connect to your channel rather than the default, as well as specifying a different nickname. These can also be embedded into a website via an iframe to give a seamless experience to the user.</p>\n<h1 id=\"digitalirc-webchat\" tabindex=\"-1\">DigitalIRC Webchat <a class=\"header-anchor\" href=\"https://digitalirc.org/blog/deep-linking-and-webchats/\">#</a></h1>\n<p>The DigitalIRC Webchat is our self hosted webchat which is currently based on <a href=\"https://github.com/thelounge/thelounge\">TheLounge</a>. Previously it’s been based on QwebIRC, and then a self-hosted KiwiIRC instance.</p>\n<p>To change the default channel to join on connect all you need to do is add <code>?join=CHANNEL</code> where <code>CHANNEL</code> is the channel you with to join.</p>\n<blockquote>\n<p>https://webchat.digitalirc.org/?join=test</p>\n</blockquote>\n<p>Please note to not put a # in url as it will cause the webchat to ignore the channel name.</p>\n<p>If you want to change the nickname that people join with you can use <code>?nick=NICKNAME</code> where <code>NICKNAME</code> is the nick to use rather than the default.</p>\n<blockquote>\n<p>https://webchat.digitalirc.org/?nick=JohnSmith</p>\n</blockquote>\n<p>These two options can be combined as well to have a nickname and channel pre-filled when users view the webchat.</p>\n<blockquote>\n<p>https://webchat.digitalirc.org/?join=test&amp;nick=JohnSmith</p>\n</blockquote>\n<h1 id=\"kiwiirc\" tabindex=\"-1\">KiwiIRC <a class=\"header-anchor\" href=\"https://digitalirc.org/blog/deep-linking-and-webchats/\">#</a></h1>\n<p>The KiwiIRC is an external IRC Webchat platform we do not run any of the servers it is hosted on, but it does have a webirc password configured to allow it to connect to the DigitalIRC network.</p>\n<p>To change the default channel to join on connect all you need to do is add <code>#CHANNEL</code> to the END of the URL, where <code>CHANNEL</code> is the channel you with to join.</p>\n<blockquote>\n<p>https://kiwiirc.com/client?settings=0f3e994c84290c080344dd64496537e7#test</p>\n</blockquote>\n<p>If you want to change the nickname that people join with you can use <code>?nick=NICKNAME</code> where <code>NICKNAME</code> is the nick to use rather than the default.</p>\n<blockquote>\n<p>https://kiwiirc.com/client?settings=0f3e994c84290c080344dd64496537e7&amp;nick=Cheesus</p>\n</blockquote>\n<p>These two options can be combined as well to have a nickname and channel pre-filled when users view the webchat.</p>\n<blockquote>\n<p>https://kiwiirc.com/client?settings=0f3e994c84290c080344dd64496537e7&amp;nick=Cheesus#test</p>\n</blockquote>\n",
			"date_published": "2020-10-07T00:00:00Z"
		}
		,
		{
			"id": "https://digitalirc.org/blog/channel-permissions/",
			"url": "https://digitalirc.org/blog/channel-permissions/",
			"title": "Channel permissions",
			"content_html": "<p>A channel on the network can have six different kinds of users. You might think of them as levels of permission and access.</p>\n<p>They are, in increasing amount of capabilities:</p>\n<ul>\n<li>Regular user</li>\n<li>Voiced: VOP or +v</li>\n<li>Half-Op: HOP or +h</li>\n<li>Op: Full Op, ChanOp or +o</li>\n<li>Admin: SOP, SuperOp or +a</li>\n<li>Founder: +q</li>\n</ul>\n<p>Regular users and voiced have no power in the channel, though voiced users can talk if the channel has been muted. All levels above voiced have some control over the moderation of the channel.</p>\n<p>Founders have the highest level of access in the channel; with the ability to change any permissions, channel successor, etc. On DigitalIRC a channel may have up to 5 user accounts with the founder level permission but be warned founders can remove other founders so make sure you trust the people you give it to.\nIf for some reason you need more than 5 users to have founder permission you can assign a groupserv group founder permissions as well.</p>\n<p>The table below shows some of the channel permissions available to each level:</p>\n<table>\n<thead>\n<tr>\n<th>Capabilities</th>\n<th>VOP</th>\n<th>HOP</th>\n<th>OP</th>\n<th>SOP</th>\n<th>Founder/Owner</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Can speak when channel is moderated (+m)</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>Can change channel TOPIC</td>\n<td></td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>Can change Channel Modes</td>\n<td></td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>Can Kick/Ban users with lower status than themselves</td>\n<td></td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>Can Voice/Devoice users (+v)</td>\n<td></td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>Can Half-OP/DeHalf-OP users (+h)</td>\n<td></td>\n<td></td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>Can use Botserv (/bs) commands</td>\n<td></td>\n<td></td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>Can OP/DeOP users (+o)</td>\n<td></td>\n<td></td>\n<td></td>\n<td>Yes</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>Can view/add/remove AKICKs</td>\n<td></td>\n<td></td>\n<td></td>\n<td>Yes</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>Can SuperOP/DeSuperOP users (+a)</td>\n<td></td>\n<td></td>\n<td></td>\n<td></td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>Can add successor</td>\n<td></td>\n<td></td>\n<td></td>\n<td></td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>Can add other founders</td>\n<td></td>\n<td></td>\n<td></td>\n<td></td>\n<td>Yes</td>\n</tr>\n</tbody>\n</table>\n",
			"date_published": "2016-05-21T00:00:00Z"
		}
		,
		{
			"id": "https://digitalirc.org/blog/digitalirc-tor/",
			"url": "https://digitalirc.org/blog/digitalirc-tor/",
			"title": "DigitalIRC is now accessible via TOR",
			"content_html": "<p>After more than a few people asking we are now adding access to the network via TOR. Currently we will still maintain the ban we have on accessing us on our public interfaces from tor or an open proxy.</p>\n<p>Our hidden service address is ircnetdbe6ohrrrekzbf33v7crjink7hsafrtzyid6rof4jianus4byd.onion on which we will only listen on with ssl on port 6697. More information about tor can be found on the <a href=\"https://www.torproject.org/\">TOR Project</a> website and we highly recommend the <a href=\"https://www.torproject.org/download/download-easy.html.en\">TOR Browser Bundle</a>.</p>\n<p>Update 2018-11-13: Updated hidden service address</p>\n<p>Update 2020-10-01: Tor V3 address</p>\n",
			"date_published": "2015-04-08T00:00:00Z"
		}
		,
		{
			"id": "https://digitalirc.org/blog/extended-bans/",
			"url": "https://digitalirc.org/blog/extended-bans/",
			"title": "Extended bans",
			"content_html": "<h2 id=\"silencing-users-with-extended-bans\" tabindex=\"-1\">Silencing Users with Extended Bans <a class=\"header-anchor\" href=\"https://digitalirc.org/blog/extended-bans/\">#</a></h2>\n<p>You can use extended bans to set up an alternative kind of ban that will give you more options, like silencing users.</p>\n<p>When you silence a user, you allow the person to stay in the channel, but block the person’s ability to participate in the discussion or change nicks. It’s an online equivalent of a short timeout, where the person has to sit quietly for several minutes before rejoining discussion.</p>\n<p>To silence a user manually, you’d type:</p>\n<p><code>/mode #YourChannel +bb ~q:nick!ident@user.host ~n:nick!ident@user.host</code></p>\n<p>That command sets two bans, which is why the host information is listed twice. The first one (~q:nick!ident@user.host) prevents the user from participating in the discussion (unless the user is +v or higher). The ~q stands for quiet. The second one (~n: nick!ident user.host) prevents the user from changing nicks. The ~n stands for nick.</p>\n<p>In #YourChannel, bans are normally set by the user’s host, so an example ban would look like this:</p>\n<p><code>/mode #YourChannel +bb ~n:*!*@protectedhost-1234578.hsd1.va.comcast.net ~q:*!*@protectedhost-1234578.hsd1.va.comcast.net</code></p>\n<p>That example bans anyone (with any nick or ident) with the hostmask protectedhost-12345678.hsd1.va.comcast.net.</p>\n<h2 id=\"removing-a-silence-extended-ban\" tabindex=\"-1\">Removing a Silence Extended Ban <a class=\"header-anchor\" href=\"https://digitalirc.org/blog/extended-bans/\">#</a></h2>\n<p>If you silence a user manually, you have to remove the ban manually as well. Since you set the ban with +b, you will remove it by using the same command, but with -b. So to remove the ban, you would type:</p>\n<p><code>/mode #YourChannel -bb ~q:nick!ident@user.host ~n:nick!ident@user.host</code></p>\n<p>Everything is the same. You’re just removing the ban. Here’s the way to remove the example ban from above:</p>\n<p><code>/mode #YourChannel -bb ~n:*!*@protectedhost-1234578.hsd1.va.comcast.net ~q:*!*@protectedhost-1234578.hsd1.va.comcast.net</code></p>\n<h2 id=\"setting-a-channel-extended-ban\" tabindex=\"-1\">Setting a Channel Extended Ban <a class=\"header-anchor\" href=\"https://digitalirc.org/blog/extended-bans/\">#</a></h2>\n<p>There are two other kinds of extended bans:</p>\n<ul>\n<li>~c sets an extended ban based on a channel users are in</li>\n<li>~r sets an extended ban based on a user’s real name</li>\n</ul>\n<p>You are unlikely to need either of these bans, but for the sake of thoroughness here is how they work.</p>\n<p>To set an extended channel ban, you’d type:</p>\n<p><code>/mode #YourChannel +b ~c:#channel</code></p>\n<p>That ban would prevent anyone in #channel from joining #YourChannel.</p>\n<p>Let’s pretend there’s a channel called #YourChannelHaters. We might decide that we do not want anyone from #YourChannelHaters to join #YourChannel. We could use this extended ban to prevent them from joining #YourChannel:</p>\n<p><code>/mode #YourChannel +b ~c:#YourChannelHaters</code></p>\n<p>You remove this kind of ban by switching to -b, so I could remove the ban on folks from #YourChannelHaters like this:</p>\n<p><code>/mode #YourChannel -b ~c:#YourChannelHaters</code></p>\n<h2 id=\"setting-a-real-name-extended-ban\" tabindex=\"-1\">Setting a Real Name Extended Ban <a class=\"header-anchor\" href=\"https://digitalirc.org/blog/extended-bans/\">#</a></h2>\n<p>To set an extended ban based on a user’s real name, you’d type:</p>\n<p><code>/mode #YourChannel +b ~r:*real_name*</code></p>\n<p>The * character works as a wildcard, just as it does in other bans. Use the underscore character ( _ ) to represent spaces in the user’s real name. The underscore is also interpreted as an actual underscore character. In other words, the ban above would block someone using either &quot;real name&quot; (with a space) or &quot;real_name&quot; (with an underscore).</p>\n<p>Here’s an example:</p>\n<p><code>/mode #YourChannel +b ~r:*Jane_Doe*</code></p>\n<p>That ban would prevent anyone who was using the real name &quot;Jane Doe&quot; or &quot;Jane_Doe&quot; from joining #YourChannel. Because of the * wildcard, someone with a real name like &quot;Jane Doe rules&quot; or &quot;Jane_Doe_rules&quot; would also be banned.</p>\n<p>You remove this kind of ban by switching to -b, so I could remove the ban on &quot;Jane Doe &quot; like this:</p>\n<p><code>/mode #YourChannel -b ~r:*Jane_Doe*</code></p>\n",
			"date_published": "2013-11-09T00:00:00Z"
		}
		,
		{
			"id": "https://digitalirc.org/blog/new-wiki/",
			"url": "https://digitalirc.org/blog/new-wiki/",
			"title": "New Wiki",
			"content_html": "<p>We have added a wiki to DigitalIRC, this allows users, channel owners and staff to create pages about channel, services and other interesting titbits of information about DigitalIRC or IRC in general.</p>\n<p>The wiki is available at <a href=\"https://digitalirc.org/blog/new-wiki/wiki\">www.digitalirc.org/wiki/</a></p>\n",
			"date_published": "2012-11-09T00:00:00Z"
		}
		,
		{
			"id": "https://digitalirc.org/blog/how-to-get-a-vhost/",
			"url": "https://digitalirc.org/blog/how-to-get-a-vhost/",
			"title": "How to get a vhost",
			"content_html": "<h1 id=\"what-is-a-vhost\" tabindex=\"-1\">What is a vhost <a class=\"header-anchor\" href=\"https://digitalirc.org/blog/how-to-get-a-vhost/\">#</a></h1>\n<p>A vhost (a.k.a. vanity host or virtual hosts) is a custom part after the @ in your user mask on IRC. For example:</p>\n<blockquote>\n<p>MrRandom!MrRandom@MrRandom.may.explode.on.impact</p>\n</blockquote>\n<p>My vhost when I use the nickname MrRandom is MrRandom.my.explode.on.impact.</p>\n<h1 id=\"what-vhosts-can-i-get\" tabindex=\"-1\">What vhosts can I get <a class=\"header-anchor\" href=\"https://digitalirc.org/blog/how-to-get-a-vhost/\">#</a></h1>\n<p>With our recent move to atheme as our services package, all registered accounts have the default vhost assigned to them when they register yournickname.users.digitalirc.org but with atheme’s hostserv (the service we use to manage vhosts) it allows use to now have an offer list, this list contains vhosts which any user can assign to them selves without any operator intervention.</p>\n<p>The list of vhosts on the offer list is:</p>\n<blockquote>\n<p>$account.may.explode.on.impact\n$account.users.digitalirc.org\n$account.loves.porn</p>\n</blockquote>\n<p>N.B. Some vhosts are hidden unless you are part of the group it was for. To see the full list do</p>\n<blockquote>\n<p>/hs offerlist</p>\n</blockquote>\n<p>N.B. $account will be replaced by your nickname on IRC, for example MrRandom would become MrRandom.may.explode.on.impact</p>\n<p>To get a vhost off the offers list (when identified to services) do:</p>\n<blockquote>\n<p>/msg hostserv take [offer vhost you want]</p>\n</blockquote>\n<p>remember to include the $account part since that is important</p>\n<p>What if I want a custom vhost/a vhost that contains a domain name.</p>\n<p>For all domain names that aren’t on the offers list submit a hostserv request which will be reviewed by the Server Operators. The decisions of the operators are final and absolute.</p>\n<p>All vhosts applied for are subject to the network rules on profanity and common sense guidelines</p>\n<p>If you think your vhost meets these simple requirements simply do:</p>\n<blockquote>\n<p>/msg hostserv request [vhost you want]</p>\n</blockquote>\n<p>If you want a vhost that resolves to an actual domain name, the operator reviewing your request will message you to provide proof that you do own the domain name.</p>\n",
			"date_published": "2012-10-28T00:00:00Z"
		}
		,
		{
			"id": "https://digitalirc.org/blog/why-is-my-bot-banned/",
			"url": "https://digitalirc.org/blog/why-is-my-bot-banned/",
			"title": "Why is my bot banned",
			"content_html": "<p>So your bot can’t connect and it’s saying it has been banned from the network. This has happened because your bot was either:</p>\n<ul>\n<li>Spamming users, opers or channels</li>\n<li>In a channel where the channel owner hadn’t given it permission</li>\n</ul>\n<p>If your bot didn’t run ident then your entire host has been banned from the network. If you bot did respond to ident then only it was banned so you can still connect to the server just not with the account the bot was on.</p>\n<p>To appeal the ban contact an operator in #help or email opers (@) digitalirc (dot) org</p>\n",
			"date_published": "2012-09-29T00:00:00Z"
		}
		,
		{
			"id": "https://digitalirc.org/blog/can-i-link-two-channels/",
			"url": "https://digitalirc.org/blog/can-i-link-two-channels/",
			"title": "Can I link two channels?",
			"content_html": "<p>One question that is routinely asked in #help is how a channel owner can forward users from one channel to another. They usually ask this because they have changed channel names, and there is no other method available to regular users (as opposed to those with access to the IRCd configuration files); however it is also useful if the group that the channel is used by is hosting an event, and to keep the main channel manageable, want to limit it to only X amount of people, and have users that join after that go to an overfill channel.</p>\n<p>In any case, linking two channels together is very easy, as it only involves setting two channel modes – the first sets a limit of X people that can be in the channel, and the second sets the channel to send people to after X people have joined the main channel. Also, you are not limited in the number of channels that can be linked together, with the exception that a channel can only forward users to one channel. #Chan1 can forward to #chan2, which can forward to #chan3, etc.</p>\n<blockquote>\n<p>l = Channel may hold at most the specified number of users (This mode is a lowercase L, not a capital i)\nL = Channel link (If +l is full, the next user will auto-join ) [q]</p>\n</blockquote>\n<p>So if I wanted to forward my channel #Inara to #Adria, I would do the following:</p>\n<blockquote>\n<p>/mode #Inara +lL 1 #Adria</p>\n</blockquote>\n<p>If I wanted to always have the channel set like that, so that nobody could change it, I would use chanserv’s mlock option, and do:</p>\n<blockquote>\n<p>/msg chanserv set #Inara mlock +lL 1 #Adria</p>\n</blockquote>\n<p>If you are linking an old channel to a new one (i.e. you’ve moved channels), the number must be 1, and there must be someone in the channel for it to work (note: botserv bots do not count. It can be a bot that you run though). If you have linked a primary channel to an overfill one, the number can be anything equal to or greater than 1.</p>\n<p><strong>NOTE</strong>: Linked channels do not share the same permissions, you will need to add people to the aop/sop/hop/vop lists in each channel.</p>\n<p>Should you have any questions about linking channels, feel free to leave a comment here, or to join #help and ask in there.</p>\n",
			"date_published": "2012-09-09T00:00:00Z"
		}
		,
		{
			"id": "https://digitalirc.org/blog/what-is-a-vhost/",
			"url": "https://digitalirc.org/blog/what-is-a-vhost/",
			"title": "What is a vHost and how to get one",
			"content_html": "<h2 id=\"what-is-a-vhost\" tabindex=\"-1\">What is a vHost <a class=\"header-anchor\" href=\"https://digitalirc.org/blog/what-is-a-vhost/\">#</a></h2>\n<p>A host is the part that comes after the @ when you join a channel on IRC (For example, [you] (webchat@SilentZombies-2C774A64.your.isp.net) ) has joined #empornium). A vHost (aka virtual host) is a feature on Empornium irc network, that allows you to be identified with a custom host, hiding your real ISP, making some silly joke, or even ban evasion (requesting one for ban evasion will get you banned from the entire network, not just a channel).</p>\n<h2 id=\"don-t-i-already-have-a-vhost\" tabindex=\"-1\">Don’t I already have a vhost? <a class=\"header-anchor\" href=\"https://digitalirc.org/blog/what-is-a-vhost/\">#</a></h2>\n<p>By default you host is hidden by a standard vhost which everyone who registers gets (e.g. [you].users.digitalirc.org ), this tutorial is if you want a custom one. For example MrRandom@Ego.sum.penitus.corrupta</p>\n<h2 id=\"rules-for-vhosts\" tabindex=\"-1\">Rules for vhosts <a class=\"header-anchor\" href=\"https://digitalirc.org/blog/what-is-a-vhost/\">#</a></h2>\n<ol>\n<li>No IP vhosts, or IP look-a-likes. e.g. SilentZombies-7056744.isp.net or 96226D5B.61EF05EF.4702A4E2.IP</li>\n<li>If your vhost can, is, or could possibly be an actual domain you need to be able to prove you own that domain. e.g. google.com or empornium.me</li>\n<li>No impersonating private organizations which have government affiliation (MPAA, RIAA, etc.). We don’t want any trouble with them.</li>\n<li>No vhosts that contain the words forum, ircop, admin, network, or any IRCop’s nick. e.g. admin.irc or mrrandom.sucks</li>\n<li>You are only allowed to change your vhost once every 28 days. Spamming the system with frequent requests will result in a ban from the vhost system.</li>\n<li>If you are caught abusing vhosts to evade bans, you will have your vhost removed and banned from the network for a minimum of 3 days.</li>\n<li>No racist words. *Note – What is considered racist/derogatory is subject to discretion by vhost setter.</li>\n<li>No references to other networks/spamming. (e.g. come.to.irc.blahblahblah.net, join.my.channel)</li>\n<li>No references to “kiddy”-like activity.</li>\n<li>Your vhost must contain at least one period</li>\n<li>We do not offer vIdents (the part before tha @ ) but if you use a seperate IRC Client you should be able to change your ident in it’s settings</li>\n</ol>\n<h2 id=\"how-to-request-a-vhost\" tabindex=\"-1\">How to request a vhost <a class=\"header-anchor\" href=\"https://digitalirc.org/blog/what-is-a-vhost/\">#</a></h2>\n<p>So your vhost meets all the rules first you need to be registered with NickServ. Once that is done simply enter:</p>\n<blockquote>\n<p>/hs request your.vhost.here</p>\n</blockquote>\n<p>When it has been approved it will automatically set itself as your host, and each time you subsequently identify each time you connect.</p>\n",
			"date_published": "2012-09-02T00:00:00Z"
		}
		,
		{
			"id": "https://digitalirc.org/blog/using-our-round-robins/",
			"url": "https://digitalirc.org/blog/using-our-round-robins/",
			"title": "Are you using our round robins?",
			"content_html": "<p>As we explain on our <a href=\"https://digitalirc.org/blog/using-our-round-robins/wiki/servers/\">Servers</a> page, you often achieve the best connection by connecting to the server geographically closest to you. To do this, you can find the closest server on the map and then connect to servername.digitalirc.org for example, shire.digitalirc.org would be a good choice if you were in Europe.</p>\n<h2 id=\"geographical-round-robins\" tabindex=\"-1\">Geographical Round Robins <a class=\"header-anchor\" href=\"https://digitalirc.org/blog/using-our-round-robins/\">#</a></h2>\n<p>You can also choose a pool of servers that are near you by using our round robin addresses. The biggest round robin pool is also the most general one (and the one most clients use on their pre-populated server lists): irc.digitalirc.org. That round robin includes all the Digital IRC servers.</p>\n<p>If you want to choose a smaller pool, you can use one of these round robins, based on your geographical area:</p>\n<ul>\n<li>irc.eu.digitalirc.org if you’re in Europe</li>\n<li>irc.us.digitalirc.org if you’re in the United States</li>\n</ul>\n<h2 id=\"special-connection-round-robins\" tabindex=\"-1\">Special Connection Round Robins <a class=\"header-anchor\" href=\"https://digitalirc.org/blog/using-our-round-robins/\">#</a></h2>\n<p>We also have round robins based on pools of servers with special capabilities. If you need these features, use one of these options:</p>\n<ul>\n<li>ipv6.digitalirc.org if you want an IPv6 server</li>\n</ul>\n<p>All Servers support ssl connections on port 6697 and mibbit connections.</p>\n",
			"date_published": "2012-09-02T00:00:00Z"
		}
		,
		{
			"id": "https://digitalirc.org/blog/how-to-group-nicknames/",
			"url": "https://digitalirc.org/blog/how-to-group-nicknames/",
			"title": "How to group Nicknames",
			"content_html": "<p>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.”</p>\n<p>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.</p>\n<p>Here’s how to group a nick to one that you already have registered:</p>\n<ul>\n<li>Switch to the nick that you want to group (*)</li>\n<li>Enter the following command in the server/status window:</li>\n</ul>\n<blockquote>\n<p>/msg nickserv group main_nick password</p>\n</blockquote>\n<p>where main_nick is your primary nick, and password is the password belonging to the primary nick.</p>\n<blockquote>\n<p>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</p>\n</blockquote>\n<p>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”.</p>\n<p>And just to give you the commands again, they are, in order:</p>\n<blockquote>\n<p>/nick theNewNick\n/msg nickserv group main_nick password</p>\n</blockquote>\n<p>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</p>\n<blockquote>\n<p>/msg nickserv drop</p>\n</blockquote>\n<p>Doing that will make nickserv completely drop the nick – it will no longer exist, have any permissions, etc.</p>\n<p>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 services, 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.</p>\n<p>Should you have any questions about grouping nicks, feel free to leave a comment here, or to join #empornium-help and ask in there.</p>\n<p><strong>NOTE 1</strong>: Before you enter the next command, make sure that you are using the nick you want to add to your\nexisting group. Do NOT be using your main nick. Example: if I wanted to group JayneCobb to my account, I\nwould /nick JayneCobb.\n<strong>NOTE 2</strong>: If you use a registered nick when the next step if performed, it will first be dropped, then\ngrouped to the main nick. Example: if I try to group JayneCobb (which is registered) to my main nick\nMalcolmReynolds, Services will first drop JayneCobb, then have it join the MalcolmReynolds group. By being\ndropped, any permissions JayneCobb had will be gone.</p>\n",
			"date_published": "2012-09-02T00:00:00Z"
		}
		,
		{
			"id": "https://digitalirc.org/blog/how-to-register-a-nickname/",
			"url": "https://digitalirc.org/blog/how-to-register-a-nickname/",
			"title": "How to register a nickname",
			"content_html": "<p>Registering your nickname on Digital IRC provides a number of benefits. The most notable of these is that registering your nickname prevents other people from using it. Once a user starts using the nickname, they will be asked to ‘identify’ to it with a password. If they fail to do so, their nickname will be changed. This helps to stop people posing as you.</p>\n<p>Once you register your nickname, you can be added to the auto voice and op lists in other people’s channels. This enables you to be a permanent staff member in channels. You are also entitled to a vhost once you have been registered.</p>\n<p>Registration provides you with many benefits and is completely free.</p>\n<p>To register your nickname on Digital IRC, you must first be using it. If you are not currently using it, change to it with the command:</p>\n<blockquote>\n<p>/nick</p>\n</blockquote>\n<p>For example:</p>\n<blockquote>\n<p>/nick CrazyUser</p>\n</blockquote>\n<p>Once you are using the nickname, you may register it in one of two ways. In any client, use the following command:</p>\n<blockquote>\n<p>/ns register</p>\n</blockquote>\n<p>For example:</p>\n<blockquote>\n<p>/ns register supersecretpassword crazyuser@hotmail.com</p>\n</blockquote>\n<p>Following this, you will be not get an e-mail you are done. The e-mail is needed only to recover your password.</p>\n<p>Each time you connect and start using the registered, you will be told that This nick is owned by someone else. You must ‘identify’ to it using the following command:</p>\n<blockquote>\n<p>/ns identify</p>\n</blockquote>\n<p>For example:</p>\n<blockquote>\n<p>/ns identify supersecretpassword</p>\n</blockquote>\n<p>If you use mIRC, you can load the following script into the Remotes section of your script editor (press alt+R to access this) to identify you automatically. Just replace ‘YOURPASSWORDHERE’ with your actual password:</p>\n<pre class=\"language-js\" tabindex=\"0\"><code class=\"language-js\">on <span class=\"token number\">1</span><span class=\"token operator\">:</span><span class=\"token constant\">NOTICE</span><span class=\"token operator\">:</span><span class=\"token operator\">*</span>This nickname is registered and <span class=\"token keyword\">protected</span><span class=\"token operator\">*</span><span class=\"token operator\">:</span><span class=\"token operator\">?</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>$nick <span class=\"token operator\">==</span> NickServ<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        ns identify <span class=\"token constant\">YOURPASSWORDHERE</span>\n    <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n\non <span class=\"token number\">1</span><span class=\"token operator\">:</span><span class=\"token constant\">NOTICE</span><span class=\"token operator\">:</span><span class=\"token operator\">*</span>This nick is owned by someone <span class=\"token keyword\">else</span><span class=\"token operator\">*</span><span class=\"token operator\">:</span><span class=\"token operator\">?</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>$nick <span class=\"token operator\">==</span> NickServ<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        ns identify <span class=\"token constant\">YOURPASSWORDHERE</span>\n    <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre>\n<p>If you require help, come and see us in [#help on irc.digitalirc.org][1]. Users who have registered with NickServ will automatically get voiced in the channel when they join.</p>\n<p>[1]: http://www.digitalirc.org/webchat-help/ “IRC Webchat”</p>\n",
			"date_published": "2012-06-02T00:00:00Z"
		}
		,
		{
			"id": "https://digitalirc.org/blog/how-to-add-channel-auto-join/",
			"url": "https://digitalirc.org/blog/how-to-add-channel-auto-join/",
			"title": "How to add channels to auto-join",
			"content_html": "<p>The AJOIN command is a server-side command that keeps track of the channels you join each time you connect to Digital IRC. If you login with your nick and identify with your password, you can join all the same channels automatically. It works no matter what client you use or where you connect from since all the details are kept on the server.</p>\n<p>Note: that your client may have an option to keep an auto-join locally. Check your documentation for details on using a client-side system if you want to keep your settings on your machine(s). This explanation will focus on the server-side system only.</p>\n<h2 id=\"what-is-required-to-join-channels-automatically\" tabindex=\"-1\">What is required to join channels automatically? <a class=\"header-anchor\" href=\"https://digitalirc.org/blog/how-to-add-channel-auto-join/\">#</a></h2>\n<p>Your nickname has to be registered, and you have to identify before you can use the AJOIN command. Additionally, the channel that you want to join has to be registered. Remember that you can only be in 100 channels, so you can only include 100 channels in your AJOIN list.</p>\n<h2 id=\"how-do-i-join-a-channel-automatically\" tabindex=\"-1\">How do I join a channel automatically? <a class=\"header-anchor\" href=\"https://digitalirc.org/blog/how-to-add-channel-auto-join/\">#</a></h2>\n<p>To add a channel to the list of those that you join every time you connect to Digital IRC (your AJOIN list), use the following command:</p>\n<blockquote>\n<p>/ns AJOIN ADD #channel</p>\n</blockquote>\n<p>For instance,</p>\n<blockquote>\n<p>/ns AJOIN ADD #topgear</p>\n</blockquote>\n<p>would add the channel #topgear to your AJOIN list.</p>\n<h2 id=\"how-do-i-add-a-channel-that-uses-a-key-to-my-ajoin-list\" tabindex=\"-1\">How do I add a channel that uses a key to my AJOIN list? <a class=\"header-anchor\" href=\"https://digitalirc.org/blog/how-to-add-channel-auto-join/\">#</a></h2>\n<p>If the channel you want to add uses a key, you need to include the key when you use the command:</p>\n<blockquote>\n<p>/ns AJOIN ADD #channel key</p>\n</blockquote>\n<p>For instance,</p>\n<blockquote>\n<p>/ns AJOIN ADD #topgear hAmsT3r</p>\n</blockquote>\n<p>would add the channel #topgear with the channel key “hAmsT3r” to your AJOIN list.</p>\n<p>Can I just add every channel I’m in right now?</p>\n<p>Yes, you can. Join all the channels you want to add, and use the command:</p>\n<blockquote>\n<p>/ns AJOIN ADDALL</p>\n</blockquote>\n<p>The command will also automatically include the keys for any channels to your AJOIN list.</p>\n<h2 id=\"how-do-i-see-a-list-of-all-the-channels-i-join-automatically\" tabindex=\"-1\">How do I see a list of all the channels I join automatically? <a class=\"header-anchor\" href=\"https://digitalirc.org/blog/how-to-add-channel-auto-join/\">#</a></h2>\n<p>To see a list of all the channels on your AJOIN list, use the command:</p>\n<blockquote>\n<p>/ns AJOIN LIST</p>\n</blockquote>\n<p>Use wild cards with this command to list only the channels on your AJOIN list that match a specific pattern.\nFor instance, the command</p>\n<blockquote>\n<p>/ns AJOIN LIST #top*</p>\n</blockquote>\n<p>would return all the channels on your AJOIN list that begin with “#top” (for instance, #topgear).</p>\n<h2 id=\"how-do-i-remove-a-channel-from-my-ajoin-list\" tabindex=\"-1\">How do I remove a channel from my AJOIN list? <a class=\"header-anchor\" href=\"https://digitalirc.org/blog/how-to-add-channel-auto-join/\">#</a></h2>\n<p>To remove a channel from your AJOIN list, use the command</p>\n<blockquote>\n<p>/ns AJOIN DEL #channel</p>\n</blockquote>\n<p>For instance,</p>\n<blockquote>\n<p>/ns AJOIN DEL #topgear</p>\n</blockquote>\n<p>would remove the channel #topgear from your AJOIN list.</p>\n<h2 id=\"how-do-i-delete-all-the-channels-that-i-join-automatically\" tabindex=\"-1\">How do I delete all the channels that I join automatically? <a class=\"header-anchor\" href=\"https://digitalirc.org/blog/how-to-add-channel-auto-join/\">#</a></h2>\n<p>To remove all the channels from your AJOIN list, use this command:</p>\n<blockquote>\n<p>/msg NickServ AJOIN CLEAR</p>\n</blockquote>\n<p>The command will delete all the channels from your AJOIN list. When you connect to Digital IRC again, you will not join any channels automatically.</p>\n<h2 id=\"what-if-i-get-banned-from-a-channel-i-usually-join-automatically\" tabindex=\"-1\">What if I get banned from a channel I usually join automatically? <a class=\"header-anchor\" href=\"https://digitalirc.org/blog/how-to-add-channel-auto-join/\">#</a></h2>\n<p>If you are banned from a channel, please be sure to remove it from your AJOIN list, using the AJOIN DEL command above. Keeping a channel you are banned from on your AJOIN list may result in accidentally evading the ban.</p>\n",
			"date_published": "2012-06-02T00:00:00Z"
		}
		,
		{
			"id": "https://digitalirc.org/blog/how-to-make-a-privaterestricted-channel/",
			"url": "https://digitalirc.org/blog/how-to-make-a-privaterestricted-channel/",
			"title": "How to make a private/restricted channel",
			"content_html": "<p>Every channel is able to be private (+p), and/or secret (+s). The two modes are similar, but it is possible for people to find out about a channel that is marked private only (+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 and private, +sp. Unless you are in the channel or an IRCop, the server will pretend that the channel doesn’t exist.</p>\n<p>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.</p>\n<p>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.</p>\n<p>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.</p>\n<p>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”.</p>\n<p>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:</p>\n<blockquote>\n<p>/msg chanserv set #channel mlock +s\n/msg chanserv set #channel restricted on</p>\n</blockquote>\n<p>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 +sptn.</p>\n<p>Should you have any questions concerning setting your channel to restricted access, feel free to stop in #help and ask.</p>\n",
			"date_published": "2012-03-02T00:00:00Z"
		}
		
	]
}
