Apoc
Well-Known Member
- Joined
- Jan 16, 2010
- Messages
- 2,790
- Reaction score
- 94
This is still in early development! If you come here to bitch, go somewhere else!
QuickIRC was written to give wired420 and myself some decent IRC-based control over Honorbuddy.
It is written using Smartirc4net as the base IRC implementation; so it is a stable plugin as far as IRC connections go.
What it does
It is an all-around monitoring, and controller for Honorbuddy, all via IRC.
There are currently 23 commands, some of which with multiple 'switches' available, bringing the total up to over 30 in the current version. Commands are *very* easy to add, so new ones will most likely be coming as this plugin matures.
It will 'say' any useful chat messages received from WoW, in IRC. (Where it says it is configurable, see the settings section below)
It currently supports certain 'events' to be said in IRC as well. (Leveling, deaths, etc)
What are the commands it supports?
The following is a short-list of commands, which may not always be up to date! Please download the latest version if you want to see the newest list of commands.
Code:
---- Command list - All commands are prefixed with the '!' character unless otherwise stated ----
list - Lists the available commands
w - Sends a whisper to a player. Syntax: !w name message
s - Sends a say message in game. Syntax: !s message
p - Sends a party message in game. Syntax: !p message
r - Sends a raid message in game. Syntax: !r message
bg - Sends a battleground message in game. Syntax: !bg message
g - Sends a guild message in game. Syntax: !g message
start - Starts the currently selected bot.
stop - Stops the currently selected bot.
die - Kills the bot, and optionally the WoW it is associated with. Specify -a to kill WoW as well.
restart - Restarts the entire Honorbuddy process. Don't use this if you are not using a relogger, or cannot manually hit the login button!
listplugins - Lists the current plugins loaded, and whether they are enabled.
listprofiles - Lists the profiles found in the specified directory. Syntax: !listprofiles C:\Path\To\Profiles
listbots - Lists the current bots loaded.
changebot - Changes the currently loaded bot. [Note: this can cause issues, as it does zero state checking!]
switchprofile - Changes the current profile. [Requires a bot 'restart'] Syntax: !switchprofile C:\Path\To\Profile.xml
toggleplugin - Toggles a plugin on and off. Syntax: !toggleplugin name of plugin
level - Displays the current character's level
xphr - Displays the current character's XP/hr
loots - Displays the current character's total loot count. Add '-h' to get the per-hour value.
kills - Displays the current character's total kill count. Add '-h' to get the per-hour value.
deaths - Displays the current character's total death count. Add '-h' to get the per-hour value.
bgstats - Displays current character's wins and losses in battlegrounds.
cash - Displays the current characters cash.
screenshot - Takes a screenshot and prints the ImageShack link.
mapname - No description
version - No description
runtime - Displays the bots current running time.
status - Displays the current status. Available switches: -p (POI) -g (GOAL) -a (ACTIVITY). Syntax example: !status -pga
The '!' prefix is configurable.
How do I add a command?
You'll need to know at least a little C#, and have some knowledge of writing plugins/CCs for Honorbuddy.
The following is an example of the 'level' command:
Code:
class LevelCommand : IrcCommand
{
public override string Trigger { get { return "level"; } }
public override string Description
{
get { return "Displays the current character's level"; }
}
public override void HandleCommand(string fullText, params string[] args)
{
Send("Current level is: " + StyxWoW.Me.Level);
}
}
As you can see, it is very simple to add new commands.
We highly recommend that you use the 'Send(message)' function when outputting text to IRC. This will automatically select the user's defined message type.
After you create your command, we suggest you either a) put it in one of the already supplied files in the /Commands folder, or create a new file (with proper C# namespaces and whatnot) in the /Commands folder. They will automatically be loaded at runtime.
Configuration
QuickIRC lets you configure quite a few things, some of which you MUST change for it to function properly.

SendType - Allows you to change where messages are sent. By default, this is 'Channel'. Other supported modes are PrivateMessage, and Notice. Unless you know what you are doing, we suggest you do not use the 'Notice' option. (Advanced IRC users may find it useful)
CommandPrefix - Allows you to change the prefix the bot looks for, when reading commands. Very useful if you have multiple bots running in the same channel, and don't want to private message a specific one to issue a command.
Channel - The channel the bot will join upon connection.
ChannelPassword - If your channel is password-protected, enter the password here.
LoginAtStart - QuickIRC can automatically login to IRC when Honorbuddy is loaded. By default, this behavior is turned off, and you must manually hit 'Start' in the settings window to login to IRC.
OwnerNick - This is the nickname of the person that the bot will respond to. Commands given by anyone other than this nickname, will be ignored. (Set this to your IRC nick)
Port - If you need to connect on a non-standard port, change this to the port you wish to use. (If you don't know what this means, just leave the setting as it is.)
Server - The IRC network that the bot will connect to. By default, it is the unofficial HB IRC. Set this to the IRC network you want to use. (e.g. Undernet, EFNet, QuakeNet, etc)
Username - The name of the bot when connected to IRC.
Changes
v1.0.0.0 - Initial release. Hooray!
Credits
All the people in #honorbuddy that kept giving us commands to add
Download
You'll need SVN to download, please see Google for how to do this. (I can't help explain, sorry)
SVN URL:
http://svn.apocdev.com/quickirc/trunk/QuickIRC2/
If you want to request new commands, or functionality, please, feel free to do so!
Last edited: