IRC

From MinecraftOnline
(Redirected from McObot)
Jump to navigation Jump to search
Translations : Français

IRC is Internet Relay Chat.

MinecraftOnline has an IRC channel for realtime public discussion:

  • Channel: #minecraftonline
  • Network: esper.net

Features

The control panel IRC client
Staff chat in IRC
A message from a IRC bot viewed from ingame
  • Channel news in the topic, with useful links
  • Moderators and admins are channel ops.
  • Staff messages are broadcast as op messages to staff, and can be replied to via irc.
  • A selection of bots available for convenient assistance (see below).

Bots

There is a selection of bots running in #minecraftonline at any time. They may be given mode +v (voice) to separate them on the users list.

McObot

McObot is an IRC bot designed specifically to relay messages between the game server and the MinecraftOnline IRC channel. It was written by getplayerhead.sh?Flippeh&16.png Flippeh and getplayerhead.sh?SlowRiot&16.png SlowRiot in Python.

  • It relays all in-game chat to the IRC channel, and vice versa.
  • It relays in-game events such as joins and quits to the IRC channel.
  • It relays player deaths ingame with custom death messages relating to what caused the death.
  • It provides notifications of other interesting events:
    • Automated backups
    • Banhammer use, and ban count
    • Donation events
    • Firewall mitigations of attacks
    • Live code updates and changes, with changelog information
    • Shortens URLs pasted in IRC for easier in-game access
    • Detects foreign speech, identifies the language and translates it
    • Code and issue tracker updates.
  • It provides additional control and information commands:
    • !commands - shows a list of the bot's available commands
    • !list - displays a list of the players in game.
    • !tslist - displays a list of the players in TeamSpeak
    • !uptime - queries how long the minecraft server has been running for.
    • !radio - gets "now playing" information from MinecraftOnline Radio.
    • !stop justification (chanop only) - forces the server to attempt to shut down cleanly and restart - should be used in emergencies only and with very good justification.
    • !pipe on|off (chanop only) - activates or deactivates transmission between the game and IRC. Using just !pipe will show if the pipe is on or off.
    • !why player - checks ban logs for a given player's ban reason.
    • !map x [y] z [dim] - Produces a quick map link for a set of coordinates. Specifying y and dim are optional.
      • !map warp - Produces a map link for the given warp.
    • !whereis player - (chanop only) - reports the coordinates for a given player.
    • !locate player - (chanop only) - shows the map link for the location of player.
    • !whydidyoucrash (chanop only) - uploads a pastebin of the server's last crash report.
    • !healthyself (chanop only) - tells the bot "physician, heal itself" (which causes it to restart).
    • !stalk IP|username (chanop only) - get whois and abuse report info for the network of a given IP address or a username.
    • !drop IP (chanop only) - add a firewall rule to disregard all communication from a given IP.
    • !version - report the currently running server software version and the current vanilla version.
    • !servertime - report what the current time is in the server's timezone.
    • !bitcoin - report the current Bitcoin prices in GBP.
    • !shorten URL - produce a shortened version of a given URL.
    • !ping - basic confirmation message to check the bot can hear you and respond.
    • !translate language message - translate message into language.
      • !toggle_translation language (chanop only) - Toggles the translation of a language into English in chat.
    • !pirate YouTube link - turns the video on the link into an MP3 file.
    • !vote - shows list voting websites.
    • !areainfo x [y] z [x2 y2 z2] (chanop only) - shows protected [LionsArea|areas] at given coordinates or within the given range of coordinates, with y coordinate being optional if only specifying one location.
  • Staff channel in-game messages displayed to all channel ops on #minecraftonline.
  • Ability to message to the staff channel in-game with /msg @#minecraftonline (or your client's equivalent message command).
  • Messages prefixed with # in IRC will not be sent in-game, allowing "private IRC chat" without turning off the pipe.
    • Messages prefixed with \# in IRC will be sent in-game, but just starting with #, without the \.

Trivia

  • For a long time, changing the topic in the channel would cause the bot to spontaneously die (although this is no longer the case).
  • McObot used to provide the !item command, when player inventory loss was frequent due to client-side inventories and frequent client crashes, although this functionality has since been removed.
  • The McO in McObot stands for MinecraftOnline; however, the Mc also serves to make him sound more Scottish.

Silly

Managed by getplayerhead.sh?Anna_28&16.png Anna_28

Functions both in IRC and Discord, can bridge IRC and Discord channels.

Relays chat to and from IRC and Discord.

Restricted commands are not listed here.

Commands also work from ingame, Telegram, or in direct messages to the bot (IRC or Discord). $ is the default command prefix but will work also.

You can use $help to view similar help messages from the bot.

  • Is a silly bot
  • $firstseen [username] - returns first seen date of username
    • $fs, $firstjoin - aliases for above
    • Defaults to sender username if none given
  • $lastseen [username] - returns last seen date of username
    • $ls, $lastjoin - aliases for above
    • Defaults to sender username if none given
  • $timeplayed [username] - returns time played of username
    • $tp, $timeonline - aliases for above
    • Defaults to sender username if none given
  • $correctname <partial username> - returns full username
    • $cn, $name - aliases for above
  • $nearestplace <x> [y] <z> [settlement|building|warp] - returns nearest place name, wiki link, and distance
    • $np, $place - aliases for above
  • $map <x> [y] <z> [dimension] [zoom] [day|night] - returns map link
    • $maplink - alias for above, only returns url
  • $maptile <x> [y] <z> [dimension] [zoom] [day|night] - returns map tile link
  • $wiki <page> - returns a link to searched page on this wiki
  • $ic [ic] - returns information about an IC from autogenerated Craftbook documentation
  • $silly - outputs how many times the word "silly" has been said
    • $illy - alias for the above
  • $players [host] [port] - returns player list, defaults to MinecraftOnline when used in the #minecraftonline IRC channel
    • $mcping - alias for the above
  • $mcinfo [host] [port] - returns server status, defaults to MinecraftOnline when used in the #minecraftonline IRC channel
  • $credits - lists people who contributed to Silly bot
  • $ping - Replies with Pong
  • $time [timezone] - returns the current time in the specified timezone.
    • Defaults to "Pacific/Auckland" (aka NZST or NZDT).
    • In the response, it includes the time zone abbreviation that it matched to, but the input is required to be the full "TZ database name", which you can find on wikipedia's list of tz database time zones.

Atom

Managed by getplayerhead.sh?MrSlimeDiamond&16.png MrSlimeDiamond

Source Code

A multi-purpose bot operating across both IRC and Discord (primarily Discord)

Commands work from all chat bridge endpoints (including ingame!), with the exception of Telegram (for now; this is on the TODO list)

  • !a ping - Replies with pong
  • !a firstseen [username] - Get the first join date of a user
    • firstjoin, fs, fj are all aliases
  • !a lastseen [username] - Get the last join date of a user
    • lastjoin, ls, lj are all aliases
  • !a playtime [username] - Get playtime data of a user
    • timeplayed, tp, pt are all aliases
  • !a refreshlastseen [username] - Refresh the last join date of a user (use this if you are getting incorrect results)
  • !a bancount, bans, bc - Get the current ban count of MCO

Ping, firstseen, lastseen, and playtime are all available through Discord along with some more commands, and with fancy embeds!

Commands requiring usernames will default to the command sender's username if no username is provided.

Commands work with with hidden (#) messages.

l4mRbot

getplayerhead.sh?14mRh4X0r&16.png 14mRh4X0r's fork of lahwran's crow

  • Announces information about YouTube URLs pasted in IRC.
  • Has query commands for various apis:
    • .g query - searches google for query.
    • .q player - shows a random quote for player, if #minecraftonline is used instead it will show a random quote.
    • .q add player quote - adds quote to player's quotes.
    • .wiki query - searches wikipedia for query.
    • !wiki query - searches the MinecraftOnline wiki for query.
    • .u query - searches urbandictionary (http://urbandictionary.com) for query.
    • .wa query - executes query through Wolfram Alpha (http://wolframalpha.com).
    • .tr source lang target lang text to translate, e.g. .tr en nl How do I speak Dutch?
    • !firstseen player - shows the first time player connected to the server.
    • !lastseen player - shows the last time player connected to the server.
    • !timeplayed player - shows the amount of time player has been on the server.
  • Similar to segfault, commands prefixed with # will prefix the output of the command with # so it doesn't get sent to players ingame.
  • For a full list of commands, type .help.
  • And many player created commands not listed in .help.

CanaryBot

A supybot managed by getplayerhead.sh?14mRh4X0r&16.png 14mRh4X0r

  • Shows updates to this wiki
  • Can query recent changes:
    • ,wiki 2 - retrieves the last 2 wiki changes
  • Replaces text in a message using regex.
    • s/text/replacement/ - replaces text with replacement.
      • other characters also work instead of /, such as s.text.replacement..
      • this can also be used in-game

MCO_Telegram

Managed by getplayerhead.sh?SlowRiot&16.png SlowRiot

  • Relays messages between the the IRC channel and the Telegram group.

YourFaceBot

(Currently Offline) YourFaceBot is an IRC bot observer responsible for drawing the automated comics.

  • No longer in use.

Acsidol Bot

(Currently Offline) Acsidol Bot written by getplayerhead.sh?Acsidol&16.png Acsidol

  • A grief reporting command that feeds infomation to a file the admins can review
    • !greport <coordinates> <block type if known> <explanation>
    • e.g. !greport -152 84 357 somebody broke shypixels staircase plank
  • No longer in use, since initiation of the in-game /greport system.


BrookieBot

(Currently Offline) Managed by "brookie"

  • A bot used for fun little things, mostly known for saying "I love pizza!" repeatedly.
  • Says "I love pizza!" when someone ends a sentence with "pizza"
  • Says a random number when soneone says "random number"
  • No longer in use, possibly due to admins not liking the "pizza" spam, or absence of the user who owns it.

greportBot

(Currently Offline) greportBot written by getplayerhead.sh?Drathus42&16.png Drathus42 and then later by getplayerhead.sh?techkid6&16.png techkid6

  • A replacement grief reporting bot to replace the missing Acsidol Bot.
    • Uses the same syntax to report grief: !greport X Y Z Block [Comment] (With the comment being optional)
    • Input is checked to make sure it conforms to the minimum standards, though the block type is not checked to make sure greports aren't frustrating to enter.
  • No longer in use, since initiation of the in-game /greport system.

Hedley

(Currently Offline) Managed by getplayerhead.sh?aprx&16.png aprx

  • A PircBotX based Java chat bot
  • Responds to use of its name in chat, learns from what people say. Generally sounds like your average 12 year old griefer.

segfault

(Currently offline) Managed by getplayerhead.sh?Flippeh&16.png Flippeh

  • Replaces some of l4mRbot and CanaryBot's commands when they are not online.
  • When l4mRbot is online, segfault's commands can be used by adding a ! on the end of the command name:
    • !firstseen! player - shows the first time player connected to the server.
    • !lastseen! player - shows the last time player connected to the server.
    • !timeplayed! player - shows the amount of time player has been on the server.
    • !history player - shows the username change history of player, timeplayed for each name, total timeplayed and if any of the previous usernames have been banned.
    • !correctname start of username - shows the full username that matches part of the username given.
    • Regex replacement similar to CanaryBot's with s/text/replacement/.
    • tr/characters/replacements/ - replaces characters with replacements. Example: "tr/ae/io/" would replace all "a" with "i" and all "e" with "o".
  • Commands prefixed with # will prefix the output of the command with # so it doesn't get sent to players ingame.
  • Many other useful commands.

Victoria

(Currently Offline) Managed by getplayerhead.sh?techkid6&16.png techkid6

  • Formerly MCOGuide, Victoria answered simple questions asked ingame and in IRC
  • Though intended to be Female, people continually try to change her gender to an it
  • She was retired but will soon come back, supposedly as a Queen

Annabott

(Currently Offline) Managed by getplayerhead.sh?Anna_28&16.png Anna_28

  • Also called Annabutt.
  • Responds to segfault's rek command.
  • Says "Beep!" when people say "Boop" and other similar statements.
  • Says "Nom Zom" when getplayerhead.sh?Zomon333&16.png Zomon333 joins IRC or ingame.
  • Uses CanaryBot's s/ to replace smelly messages from getplayerhead.sh?Enjoku&16.png Enjoku:
<@Enjoku> Anna smells
<+Annabott> s/smells/smells nice/
<+CanaryBot> <Enjoku> Anna smells nice


PieBot

(Currently Offline) Managed by getplayerhead.sh?Pieapple42&16.png Pieapple42, getplayerhead.sh?StrangeOne101&16.png StrangeOne101 and getplayerhead.sh?Anna_28&16.png Anna_28

  • Also Known as RoboPie
  • Helps online players by telling them where they can get food when they ask for something to eat, even in ridiculous cases like "i need eat please?"
  • Welcomes new people to the server.
  • informs users how to get out of spawn if they indirectly ask for a spot to build.
  • Lets ingame and IRC clients post to PieBot's Twitter account by saying e.g."<*****Pieapple42> Piebot Tweet: Hello #MCO World", The tweet would say: "Pieapple42 : Hello #MCO World".
  • Replies to basic sentences directed at him like "Thanks PieBot" or "Hi PieBot".
  • Has a live twitter feed function that posts to ingame and IRC when a registered PieBot twitter account Posts using the #MCO tag, Register by saying "PieBot Register: [twitter account name]"
<*****Pieapple42> PieBot Tweet: Hello #MCO World!
[BOT] <PieBot> Here Pieapple42: https://twitter.com/PieBot_
  a few seconds later...
[BOT] <PieBot> @PieBot_ just tweeted: Pieapple42 : Hello #MCO World!
  • (Currently Disabled) Posts to ingame and IRC when @jeb_ and @DinnerBone Tweet new minecraft updates.
  • (Currently Disabled) Replies to getplayerhead.sh?Anna_28&16.png Anna_28 when she says "silly" with "No Anna...".


A typical day in the life of an IRC regular

CyberHelix

(No longer in use) Was Managed by getplayerhead.sh?doublehelix457&16.png doublehelix457

  • A cybernetic form of doublehelix457, he is both a player and a bot. He responds to commands by the human helix ingame, while also serving as helix's IRC account.
  • Can search the wiki for helix while he is ingame, without having to change windows. (Lazy I know...)
  • Can call Anna silly with !silly.

MCO_Discord

(No longer in use) Managed by getplayerhead.sh?doublehelix457&16.png doublehelix457

  • Relays messages between the the IRC channel and the #ingame Discord channel.
  • Also relays IRC/ Discord join/ leave messages.
  • Uses new Discord Webhook API username override to generate custom Avatars and nicknames for Ingame players and IRC users for discord.
  • Commands may also be executed through Discord to IRC.
  • Came online Friday, September 29 2017 at 11:30 (BST)
  • Migrated to Borealis on Wednesday, January 27th 2021, which should prevent further downtimes (RIP Sal9000)
  • Bot was taken down October 3rd, 2022 at 6:45PM (MTN)

NarwhalBot

Incident with NarwhalBot
   <getplayerhead.sh?MrSlimeDiamond&16.png MrSlimeDiamond> right narwhalbot might get kicked from esper in a sec
   <getplayerhead.sh?MrSlimeDiamond&16.png MrSlimeDiamond> i wonder what happens if i do this-
   <getplayerhead.sh?techkid6&16.png techkid6> *Why...*
   * NarwhalBot has quit (Excess Flood)
   <getplayerhead.sh?techkid6&16.png techkid6> *sigh*

(Succeeded by Atom. No longer online) Managed by getplayerhead.sh?MrSlimeDiamond&16.png MrSlimeDiamond

  • IRC Commands Please note that these commands will only work in the #ingame channel on Discord, Telegram chat, IRC or ingame.
    • (Admin only) +eval - Evaluate code to the bot.
    • +playtime <playername> - Tells you how many hours a player has spent online
      • +tp - Alias
      • +tl - Alias
      • +timeplayed - Alias
    • +firstseen<playername> - Tells you when a player first visited
      • +fs - Alias
    • +lastseen <playername> - Tells you when a player last visited
      • +ls - Alias
    • +bancount - Tells you how many bans there currently are on MCO
      • +bc - Alias
    • +bansuntil <number> - Tells you how many bans to go until <number> bans.
    • +randomplayer - Get a random ingame player
    • +apple - applehead told me to
    • +cool - selimbits threatened me
    • +king - its for demetri
    • +ping - pong
    • (Admin only) +stop - stops the bot and tells me why
    • All commands SHOULD work with a # in front of it to make it not show up ingame.
  • Discord specific commands
    • !strawberryfrog - it's strawberry frog!
    • !test - message.channel.send('bar')
  • GitHub Repo (he recoded it AGAIN)
  • Formerly known as fricbot, but the name was changed due to confusion with pronunciation
  • Has a meme voting system for Discord
  • PLEASE NOTE: all commands that previously had ! should work just put + in front of it
  • If you have any issues, message @MrSlimeDiamond on telegram or something, idk

jmrbot

(No longer online) Managed by getplayerhead.sh?jmrjmr10&16.png jmrjmr10

    • Allows the usage of l4mRbot quote lookups from ingame removed after being kicked from IRC as a result.
    • .q <username> [<quote number>] Must be used ingame or on Telegram! Will send the quote lookup as an IRC user, which will result in l4mRbot replying with a quote from the username.
    • if the word "pizza" is at the end of any chat message (Discord, IRC or ingame) will send "pizza is life" removed after being kicked from IRC.
    • allows !uptime usage ingame removed after /uptime was made avaliable to players.
    • Allows l4mrbot quote lookups from MCO Telegram
    • %reputation <player> lookups of player reputation from IRC, Discord, and Telegram
    • Allows !discord use ingame

How to connect

At the current time, to join IRC you must either register and identify with NickServ, or be invited. Registering with NickServ will also protect your nickname.

To connect to IRC you need an IRC client; many are available for free download, and some even run within your browser.

Rules

None. There are no rules on IRC. However, free speech does NOT apply, as it does in-game. Therefore you may be kicked or banned from IRC at a moderator's discretion. Usual reasons for bans are spam, excessive whining, trolling and general abusive behaviour. However, most moderators and admins are quite tolerant, and IRC bans are rare.

Why esper.net?

The esper.net network was chosen for purely pragmatic purposes - because this is where Notch's official #minecraft channel also resides, making it easier for existing minecraft IRC users to connect. Unfortunately, like most of Notch's decisions, this one showed remarkably little forward planning. Esper is notorious for its frequent netsplits and server failures. However, also like most of Notch's decisions, it's now too late to reverse, so we have to make the best of it.

See also

Further reading