aboutsummaryrefslogtreecommitdiff
path: root/src/game/IRCClient.h
diff options
context:
space:
mode:
authorSeline <none@none>2008-10-14 11:57:03 -0500
committerSeline <none@none>2008-10-14 11:57:03 -0500
commit2265aef916e3b2d63d87faa68a2b51e7d747c54c (patch)
treeb05420685b7d202aade6f70a6f511adbfb79e37f /src/game/IRCClient.h
parent222cbfd4644412fb8e5aeed7c37c88797d09964a (diff)
[svn] * Merge Temp dev SVN with Assembla.
* Changes include: - Implementation of w12x's Outdoor PvP and Game Event Systems. - Temporary removal of IRC Chat Bot (until infinite loop when disabled is fixed). - All mangos -> trinity (to convert your mangos_string table, please run mangos_string_to_trinity_string.sql). - Improved Config cleanup. - And many more changes. --HG-- branch : trunk
Diffstat (limited to 'src/game/IRCClient.h')
-rw-r--r--src/game/IRCClient.h230
1 files changed, 0 insertions, 230 deletions
diff --git a/src/game/IRCClient.h b/src/game/IRCClient.h
deleted file mode 100644
index 31e7b9fbba9..00000000000
--- a/src/game/IRCClient.h
+++ /dev/null
@@ -1,230 +0,0 @@
-#ifndef _IRC_CLIENT_H
-#define _IRC_CLIENT_H
-
-#include "Policies/Singleton.h"
-#include "Player.h"
-#include "IRCLog.h"
-#include "IRCCmd.h"
-
-using namespace std;
-// The maximum ammount of channels used
-// in the channel array you can have as much channels as you
-// want, but it is important to always have at least equal or more
-// channels then you specify in your mangosd.conf
-#define MAX_CONF_CHANNELS 10
-#define MAX_CHAT_LINES 10
-// time we need to wait before we try another connecton attempt
-// Default is 30 seconds
-#define MAX_SCRIPT_INST 10
-// CLINES is used for the default chatlines
-// By using the GetChatLine function its easier and faster
-// to receieve the line you need.
-enum CLINES
-{
- IRC_WOW = 0,
- WOW_IRC = 1,
- JOIN_WOW = 2,
- JOIN_IRC = 3,
- LEAVE_WOW = 4,
- LEAVE_IRC = 5,
- CHANGE_NICK = 6
-}; // Chatlines
-// CACTION is used by the Handle_WoW_Channel function
-// this function is called in channel.h when a player
-// joins or leave a channel inside the client.
-enum CACTION
-{
- CHANNEL_JOIN,
- CHANNEL_LEAVE,
-};
-
-enum script_Names
-{
- MCS_Players_Online = 0,
-};
-
-// IRCClient main class
-class IRCClient : public ZThread::Runnable
-{
- public:
- // IRCClient Constructor
- IRCClient();
- // IRCClient Destructor
- ~IRCClient();
- // ZThread Entry
- void run();
- public:
- // AH Function
- void AHFunc(uint64 itmid, std::string itmnme, std::string plname, uint32 faction);
- // IRCClient active
- bool Active;
- // Connected to IRC
- bool Connected;
- // Socket indentifier
- int SOCKET;
- fd_set sfdset;
- // Send data to IRC, in addition the endline is added \n
- bool SendIRC(std::string data);
- // This function is called in ChatHandler.cpp and processes the chat from game to IRC
- void Send_WoW_IRC(Player *plr, std::string Channel, std::string Msg);
- // Sends a message to all players on the specified channel
- void Send_WoW_Channel(const char *channel, std::string chat);
- // Send a system message to all players
- void Send_WoW_System(std::string Message);
- // Send a message to the specified IRC channel
- void Send_IRC_Channel(std::string sChannel, std::string sMsg, bool NoPrefix = false, std::string nType = "PRIVMSG");
- // Sends a message to all IRC Channels
- void Send_IRC_Channels(std::string sMsg);
- std::string MakeMsg(std::string msg, std::string var, std::string val)
- {
- std::size_t start = msg.find(var);
- if (start != std::string::npos)
- msg.replace(start, var.length(), val);
- return msg;
- }
- void Send_WoW_Player(string sPlayer, string sMsg);
- void Send_WoW_Player(Player *plr, string sMsg);
-
- // This function is called in Channel.cpp and processes Join/leave messages
- void Handle_WoW_Channel(std::string Channel, Player *plr, int nAction);
- void ResetIRC();
- public:
- void AutoJoinChannel(Player *plr);
-
- public:
- bool Script_Lock[5];
- bool _AmiOp;
-
- public:
- string _Mver;
- // IRC Server host
- string _Host;
- // IRC Server Port
- int _Port;
- // IRC Username
- string _User;
- // IRC Password
- string _Pass;
- // IRC Nickname
- string _Nick;
- // Authentication type
- int _Auth;
- string _Auth_Nick;
- // IRC Connect code
- string _ICC;
- // IRC Default channel
- string _defchan;
- // IRC Leave Default channel
- int _ldefc;
- // Wait Connect Time
- int _wct;
- // BotMask Options
- int Botmask;
- // Status Channel
- int Status;
- // Announce Channel
- int anchn;
- int autoanc;
- // IRC Channel count
- int _chan_count;
- // IRC Channel list
- // Array to store our IRC channels
- // each element will corrospond
- // with _wow_chan array below.
- std::string _irc_chan[MAX_CONF_CHANNELS];
- // Game Channel list
- std::string _wow_chan[MAX_CONF_CHANNELS];
- // AutoJoin Options
- int ajoin;
- string ajchan;
- // Online Command Max Results
- int onlrslt;
- // Channel OnJoin/Restart/Kick Messages
- string JoinMsg;
- string RstMsg;
- string kikmsg;
- // Misc Options
- string ojGM1;
- string ojGM2;
- string ojGM3;
- string ojGM4;
- string ojGM5;
- string logfile;
- int games;
- int gmlog;
- // IRC Commands Security Level
- int CACCT;
- int CBAN;
- int CCHAN;
- int CCHAR;
- int CFUN;
- int CHELP;
- int CINCHAN;
- int CINFO;
- int CITEM;
- int CJAIL;
- int CKICK;
- int _KILL;
- int CLEVEL;
- int CLOOKUP;
- int CMONEY;
- int CMUTE;
- int CONLINE;
- int CPM;
- int CRESTART;
- int CREVIVE;
- int CSAVEALL;
- int CSHUTDOWN;
- int CSPELL;
- int CSYSMSG;
- int CTELE;
- int CTOP;
- int CWHO;
- // BotMask
- int BOTMASK;
- // Max connect attempt
- int _MCA;
- // Auto rejoin when kicked from irc
- int _autojoinkick;
- // IRC Command prefix
- string _cmd_prefx;
- int _op_gm;
- int _op_gm_lev;
- // Array that contains our chatlines from the conf file
- // To increase this value change the MAX_CHAT_LINE define above
- // Make sure the number of elements must match your items
- // (remeber this starts at 0 so 0..9 is 10 items)
- // and that you load the line in the LoadConfig function.
- string ILINES[MAX_CHAT_LINES];
- string GetChatLine(int nItem);
-
- int _Max_Script_Inst;
- // MAX_SCRIPT_INST
-
- IRCLog iLog;
-
-public:
- // Load MangChat configuration file
- bool LoadConfig(char const* cfgfile);
- void SetCfg(char const* cfgfile);
- char const* CfgFile;
-
-private:
- // Returns default chatline based on enum CLINES
- // Initialize socket library
- bool InitSock();
- // Connect to IRC Server
- bool Connect(const char *cHost, int nPort);
- // Login to IRC Server
- bool Login(std::string sNick, std::string sUser, std::string sPass);
- // Send raw data to IRC
- bool SendData(const char *data);
- // Disconnect from IRC and cleanup socket
- void Disconnect();
- // Processes the data receieved from IRC
- void Handle_IRC(std::string sData);
- // Receieves data from the socket.
- void SockRecv();
-};
-#endif
-#define sIRC MaNGOS::Singleton<IRCClient>::Instance()