aboutsummaryrefslogtreecommitdiff
path: root/src/game/IRCCmd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/IRCCmd.cpp')
-rw-r--r--src/game/IRCCmd.cpp827
1 files changed, 0 insertions, 827 deletions
diff --git a/src/game/IRCCmd.cpp b/src/game/IRCCmd.cpp
deleted file mode 100644
index 62e5e565d75..00000000000
--- a/src/game/IRCCmd.cpp
+++ /dev/null
@@ -1,827 +0,0 @@
-/*
- * MangChat By |Death| And Cybrax
- *
- * This Program Is Free Software; You Can Redistribute It And/Or Modify It Under The Terms
- * Of The GNU General Public License
- * Written and Developed by Cybrax. cybraxvd@gmail.com
- * |Death| <death@hell360.net>, Lice <lice@yeuxverts.net>, Dj_baby & Sanaell, Tase
- * With Help And Support From The MaNGOS Project Community.
- * PLEASE RETAIN THE COPYRIGHT OF THE AUTHORS.
- */
-#include "IRCCmd.h"
-#include "IRCClient.h"
-#include "Database/DatabaseEnv.h"
-#include "ObjectMgr.h"
-#include "MapManager.h"
-// Constructor
-IRCCmd::IRCCmd(){}
-// Destructor
-IRCCmd::~IRCCmd(){}
-
-std::string IRCCmd::MakeUpper(std::string Channel)
-{
- std::string tmpchan = Channel;
- std::transform(tmpchan.begin(), tmpchan.end(), tmpchan.begin(), towupper);
- return tmpchan;
-}
-bool IRCCmd::ParamsValid(_CDATA *CD, int pCnt)
-{
- CD->PCOUNT = pCnt;
- if(CD->PARAMS.size() == 0)
- return false;
- return ValidParams(CD->PARAMS, pCnt);
-}
-
-int IRCCmd::ParamsValid(_CDATA *CD, int pCnt, int rLev)
-{
- //CD->PCOUNT = pCnt;
- if(!CanUse(CD->USER, rLev))
- return E_AUTH;
- else if(pCnt == 0)
- return E_OK;
- else if(CD->PARAMS.size() == 0)
- return E_SIZE;
- else if(!ValidParams(CD->PARAMS, pCnt))
- return E_SIZE;
- return E_OK;
-}
-
-// This function checks if chat from irc is a command or not
-// return true on yes and false on no
-bool IRCCmd::IsValid(std::string USER, std::string FROM, std::string CHAT, std::string TYPE)
-{
- // If the first line of our chat is the command prefix we have a command
- if(CHAT.substr(0, 1) == sIRC._cmd_prefx && CHAT.size() > 1 )
- {
- _CDATA CDATA;
- bool cValid = false;
- bool AuthValid = true;
- bool dontlog = true;
- std::string* _PARAMS = getArray(CHAT, 2);
- CDATA.USER = USER;
- CDATA.FROM = FROM;
- CDATA.TYPE = TYPE;
- CDATA.PCOUNT = 0;
- CDATA.CMD = MakeUpper(_PARAMS[0].substr(1, _PARAMS[0].size() - 1));
- CDATA.PARAMS = _PARAMS[1];
- if(CDATA.CMD == "LOGIN")
- {
- if(FROM == sIRC._Nick)
- {
- if(ParamsValid(&CDATA, 2))
- Handle_Login(&CDATA);
- else
- sIRC.Send_IRC_Channel(USER, "\0034[ERROR] : Syntax Error! ( "+sIRC._cmd_prefx+"login <Player> <Password> )", true, "ERROR");
- }
- else
- sIRC.Send_IRC_Channel(USER, "\0034[ERROR] : Please Send A PM To Login!", true, "ERROR");
- if(GetLevel(USER) >= sIRC.gmlog)
- dontlog = false;
- cValid = true;
- }
- else if(CDATA.CMD == "LOGOUT")
- {
- if(FROM == sIRC._Nick)
- {
- Handle_Logout(&CDATA);
- }
- else
- sIRC.Send_IRC_Channel(USER, "\0034[ERROR] : Please Send A PM To Logout!", true, "ERROR");
- cValid = true;
- }
- else if(CDATA.CMD == "ACCT")
- {
- switch(ParamsValid(&CDATA, 2, sIRC.CACCT))
- {
- case E_OK:
- Account_Player(&CDATA);
- break;
- case E_SIZE:
- sIRC.Send_IRC_Channel(USER, "\0034[ERROR] : Syntax Error! ( "+sIRC._cmd_prefx+"acct <Player> <(un)lock/mail/pass/rename> )", true, "ERROR");
- break;
- case E_AUTH:
- AuthValid = false;
- break;
- }
- cValid = true;
- }
- else if(CDATA.CMD == "BAN")
- {
- switch(ParamsValid(&CDATA, 2, sIRC.CBAN))
- {
- case E_OK:
- Ban_Player(&CDATA);
- break;
- case E_SIZE:
- sIRC.Send_IRC_Channel(USER, "\0034[ERROR] : Syntax Error! ( "+sIRC._cmd_prefx+"ban <Player> <acct/ip> )", true, "ERROR");
- break;
- case E_AUTH:
- AuthValid = false;
- break;
- }
- cValid = true;
- }
- else if(CDATA.CMD == "CHAN")
- {
- switch(ParamsValid(&CDATA, 1, sIRC.CCHAN))
- {
- case E_OK:
- Chan_Control(&CDATA);
- break;
- case E_SIZE:
- sIRC.Send_IRC_Channel(USER, "\0034[ERROR] : Syntax Error! ( "+sIRC._cmd_prefx+"chan <op> <IRC User> )", true, "ERROR");
- break;
- case E_AUTH:
- AuthValid = false;
- break;
- }
- cValid = true;
- }
- else if(CDATA.CMD == "CHAR")
- {
- switch(ParamsValid(&CDATA, 2, sIRC.CCHAR))
- {
- case E_OK:
- Char_Player(&CDATA);
- break;
- case E_SIZE:
- sIRC.Send_IRC_Channel(USER, "\0034[ERROR] : Syntax Error! ( "+sIRC._cmd_prefx+"char <Player> <mailcheat/taxicheat/maxskill/setskill> )", true, "ERROR");
- break;
- case E_AUTH:
- AuthValid = false;
- break;
- }
- cValid = true;
- }
- else if(CDATA.CMD == "FUN")
- {
- switch(ParamsValid(&CDATA, 2, sIRC.CFUN))
- {
- case E_OK:
- Fun_Player(&CDATA);
- break;
- case E_SIZE:
- sIRC.Send_IRC_Channel(USER, "\0034[ERROR] : Syntax Error! ( "+sIRC._cmd_prefx+"fun <Player> <Sound/Say> )", true, "ERROR");
- break;
- case E_AUTH:
- AuthValid = false;
- break;
- }
- cValid = true;
- }
- else if(CDATA.CMD == "HELP")
- {
- switch(ParamsValid(&CDATA, 0, sIRC.CHELP))
- {
- case E_OK:
- Help_IRC(&CDATA);
- break;
- case E_SIZE:
- sIRC.Send_IRC_Channel(USER, "\0034[ERROR] : Syntax Error! ( "+sIRC._cmd_prefx+"help <Command> )", true, "ERROR");
- break;
- case E_AUTH:
- AuthValid = false;
- break;
- }
- cValid = true;
- }
- else if(CDATA.CMD == "INCHAN")
- {
- switch(ParamsValid(&CDATA, 1, sIRC.CINCHAN))
- {
- case E_OK:
- Inchan_Server(&CDATA);
- break;
- case E_SIZE:
- sIRC.Send_IRC_Channel(USER, "\0034[ERROR] : Syntax Error! ( "+sIRC._cmd_prefx+"inchan <Channel> )", true, "ERROR");
- break;
- case E_AUTH:
- AuthValid = false;
- break;
- }
- cValid = true;
- }
- else if(CDATA.CMD == "INFO")
- {
- switch(ParamsValid(&CDATA, 0, sIRC.CINFO))
- {
- case E_OK:
- Info_Server(&CDATA);
- break;
- case E_SIZE:
- sIRC.Send_IRC_Channel(USER, "\0034[ERROR] : Syntax Error! ( "+sIRC._cmd_prefx+"info )", true, "ERROR");
- break;
- case E_AUTH:
- AuthValid = false;
- break;
- }
- cValid = true;
- }
- else if(CDATA.CMD == "ITEM")
- {
- CDATA.PCOUNT = 3;
- switch(ParamsValid(&CDATA, 2, sIRC.CITEM))
- {
- case E_OK:
- Item_Player(&CDATA);
- break;
- case E_SIZE:
- sIRC.Send_IRC_Channel(USER, "\0034[ERROR] : Syntax Error! ( "+sIRC._cmd_prefx+"item <Player> <add> <ItemID/[ItemName]> <Amount> )", true, "ERROR");
- break;
- case E_AUTH:
- AuthValid = false;
- break;
- }
- cValid = true;
- }
- else if(CDATA.CMD == "JAIL")
- {
- CDATA.PCOUNT = 3;
- switch(ParamsValid(&CDATA, 1, sIRC.CJAIL))
- {
- case E_OK:
- Jail_Player(&CDATA);
- break;
- case E_SIZE:
- sIRC.Send_IRC_Channel(USER, "\0034[ERROR] : Syntax Error! ( "+sIRC._cmd_prefx+"jail <Player> <release/Reason>)", true, "ERROR");
- break;
- case E_AUTH:
- AuthValid = false;
- break;
- }
- cValid = true;
- }
- else if(CDATA.CMD == "KICK")
- {
- CDATA.PCOUNT = 2;
- switch(ParamsValid(&CDATA, 1, sIRC.CKICK))
- {
- case E_OK:
- Kick_Player(&CDATA);
- break;
- case E_SIZE:
- sIRC.Send_IRC_Channel(USER, "\0034[ERROR] : Syntax Error! ( "+sIRC._cmd_prefx+"kick <Player> <Reason> )", true, "ERROR");
- break;
- case E_AUTH:
- AuthValid = false;
- break;
- }
- cValid = true;
- }
- else if(CDATA.CMD == "KILL")
- {
- CDATA.PCOUNT = 2;
- switch(ParamsValid(&CDATA, 1, sIRC._KILL))
- {
- case E_OK:
- Kill_Player(&CDATA);
- break;
- case E_SIZE:
- sIRC.Send_IRC_Channel(USER, "\0034[ERROR] : Syntax Error! ( "+sIRC._cmd_prefx+"kill <Player> <Reason> )", true, "ERROR");
- break;
- case E_AUTH:
- AuthValid = false;
- break;
- }
- cValid = true;
- }
- else if(CDATA.CMD == "LEVEL")
- {
- CDATA.PCOUNT = 2;
- switch(ParamsValid(&CDATA, 2, sIRC.CLEVEL))
- {
- case E_OK:
- Level_Player(&CDATA);
- break;
- case E_SIZE:
- sIRC.Send_IRC_Channel(USER, "\0034[ERROR] : Syntax Error! ( "+sIRC._cmd_prefx+"level <Player> <NewLevel> )", true, "ERROR");
- break;
- case E_AUTH:
- AuthValid = false;
- break;
- }
- cValid = true;
- }
- else if(CDATA.CMD == "LOOKUP")
- {
- CDATA.PCOUNT = 2;
- switch(ParamsValid(&CDATA, 2, sIRC.CLOOKUP))
- {
- case E_OK:
- Lookup_Player(&CDATA);
- break;
- case E_SIZE:
- sIRC.Send_IRC_Channel(USER, "\0034[ERROR] : Syntax Error! ( "+sIRC._cmd_prefx+"lookup <acct/char/creature/faction/go/item/quest/skill/spell/tele> <ID/Name> )", true, "ERROR");
- break;
- case E_AUTH:
- AuthValid = false;
- break;
- }
- cValid = true;
- }
- else if(CDATA.CMD == "MONEY")
- {
- CDATA.PCOUNT = 2;
- switch(ParamsValid(&CDATA, 2, sIRC.CMONEY))
- {
- case E_OK:
- Money_Player(&CDATA);
- break;
- case E_SIZE:
- sIRC.Send_IRC_Channel(USER, "\0034[ERROR] : Syntax Error! ( "+sIRC._cmd_prefx+"money <Player> <(-)Money> )", true, "ERROR");
- break;
- case E_AUTH:
- AuthValid = false;
- break;
- }
- cValid = true;
- }
- else if(CDATA.CMD == "MUTE")
- {
- switch(ParamsValid(&CDATA, 2, sIRC.CMUTE))
- {
- case E_OK:
- Mute_Player(&CDATA);
- break;
- case E_SIZE:
- sIRC.Send_IRC_Channel(USER, "\0034[ERROR] : Syntax Error! ( "+sIRC._cmd_prefx+"mute <Player> <release/TimeInMins> <Reason> )", true, "ERROR");
- break;
- case E_AUTH:
- AuthValid = false;
- break;
- }
- cValid = true;
- }
- else if(CDATA.CMD == "ONLINE")
- {
- switch(ParamsValid(&CDATA, 0, sIRC.CONLINE))
- {
- case E_OK:
- Online_Players(&CDATA);
- break;
- case E_SIZE:
- sIRC.Send_IRC_Channel(USER, "\0034[ERROR] : Syntax Error! ( "+sIRC._cmd_prefx+"online )", true, "ERROR");
- break;
- case E_AUTH:
- AuthValid = false;
- break;
- }
- cValid = true;
- }
- else if(CDATA.CMD == "PM")
- {
- switch(ParamsValid(&CDATA, 2, sIRC.CPM))
- {
- case E_OK:
- PM_Player(&CDATA);
- break;
- case E_SIZE:
- sIRC.Send_IRC_Channel(USER, "\0034[ERROR] : Syntax Error! ( "+sIRC._cmd_prefx+"pm <Player> <Message> )", true, "ERROR");
- break;
- case E_AUTH:
- AuthValid = false;
- break;
- }
- cValid = true;
- }
- else if(CDATA.CMD == "RELOAD")
- {
- switch(ParamsValid(&CDATA, 0, sIRC.CRESTART))
- {
- case E_OK:
- sIRC.Send_IRC_Channels("Reloading MangChat Config Options. (Command Disabled)");
- //sIRC.LoadConfig();
- break;
- case E_AUTH:
- AuthValid = false;
- break;
- }
- cValid = true;
- }
- else if(CDATA.CMD == "RESTART")
- {
- switch(ParamsValid(&CDATA, 0, sIRC.CRESTART))
- {
- case E_OK:
- sIRC.Send_IRC_Channels(sIRC.RstMsg);
- sIRC.ResetIRC();
- break;
- case E_AUTH:
- AuthValid = false;
- break;
- }
- cValid = true;
- }
- else if(CDATA.CMD == "REVIVE")
- {
- CDATA.PCOUNT = 2;
- switch(ParamsValid(&CDATA, 1, sIRC.CREVIVE))
- {
- case E_OK:
- Revive_Player(&CDATA);
- break;
- case E_SIZE:
- sIRC.Send_IRC_Channel(USER, "\0034[ERROR] : Syntax Error! ( "+sIRC._cmd_prefx+"revive <Player> )", true, "ERROR");
- break;
- case E_AUTH:
- AuthValid = false;
- break;
- }
- cValid = true;
- }
- else if(CDATA.CMD == "SAVEALL")
- {
- switch(ParamsValid(&CDATA, 0, sIRC.CSAVEALL))
- {
- case E_OK:
- Saveall_Player(&CDATA);
- break;
- case E_AUTH:
- AuthValid = false;
- break;
- }
- cValid = true;
- }
- else if(CDATA.CMD == "SHUTDOWN")
- {
- switch(ParamsValid(&CDATA, 1, sIRC.CSHUTDOWN))
- {
- case E_OK:
- Shutdown_Mangos(&CDATA);
- break;
- case E_SIZE:
- sIRC.Send_IRC_Channel(USER, "\0034[ERROR] : Syntax Error! ( "+sIRC._cmd_prefx+"shutdown <TimeInSeconds> )", true, "ERROR");
- break;
- case E_AUTH:
- AuthValid = false;
- break;
- }
- cValid = true;
- }
- else if(CDATA.CMD == "SPELL")
- {
- switch(ParamsValid(&CDATA, 2, sIRC.CSPELL))
- {
- case E_OK:
- Spell_Player(&CDATA);
- break;
- case E_SIZE:
- sIRC.Send_IRC_Channel(USER, "\0034[ERROR] : Syntax Error! ( "+sIRC._cmd_prefx+"spell <Player> <Cast/Learn/UnLearn> <SpellID> )", true, "ERROR");
- break;
- case E_AUTH:
- AuthValid = false;
- break;
- }
- cValid = true;
- }
- else if(CDATA.CMD == "SYSMSG")
- {
- CDATA.PCOUNT = 2;
- switch(ParamsValid(&CDATA, 2, sIRC.CSYSMSG))
- {
- case E_OK:
- Sysmsg_Server(&CDATA);
- break;
- case E_SIZE:
- sIRC.Send_IRC_Channel(USER, "\0034[ERROR] : Syntax Error! ( "+sIRC._cmd_prefx+"sysmsg <a/e/n/add/del/list> <Message> )", true, "ERROR");
- break;
- case E_AUTH:
- AuthValid = false;
- break;
- }
- cValid = true;
- }
- else if(CDATA.CMD == "TELE")
- {
- switch(ParamsValid(&CDATA, 2, sIRC.CTELE))
- {
- case E_OK:
- Tele_Player(&CDATA);
- break;
- case E_SIZE:
- sIRC.Send_IRC_Channel(USER, "\0034[ERROR] : Syntax Error! ( "+sIRC._cmd_prefx+"tele <Player> <l/c/r/to> <Loc.Name/MAPID X Y Z/Recall/Player> )", true, "ERROR");
- break;
- case E_AUTH:
- AuthValid = false;
- break;
- }
- cValid = true;
- }
- else if(CDATA.CMD == "TOP")
- {
- CDATA.PCOUNT = 1;
- switch(ParamsValid(&CDATA, 1, sIRC.CTOP))
- {
- case E_OK:
- Top_Player(&CDATA);
- break;
- case E_SIZE:
- sIRC.Send_IRC_Channel(USER, "\0034[ERROR] : Syntax Error! ( "+sIRC._cmd_prefx+"top <accttime/chartime/money> <limit> )", true, "ERROR");
- break;
- case E_AUTH:
- AuthValid = false;
- break;
- }
- cValid = true;
- }
- else if(CDATA.CMD == "WHO")
- {
- switch(ParamsValid(&CDATA, 0, sIRC.CWHO))
- {
- case E_OK:
- Who_Logged(&CDATA);
- break;
- case E_AUTH:
- AuthValid = false;
- break;
- }
- cValid = true;
- }
- if(!AuthValid && IsLoggedIn(USER))
- sIRC.Send_IRC_Channel(USER, "\0034[ERROR] : Access Denied! Your Security Level Is Too Low To Use This Command!", true, "ERROR");
- if(cValid == false && (sIRC.BOTMASK & 4) != 0)
- sIRC.Send_IRC_Channel(USER, "\0034[ERROR] : Unknown Command!", true, "ERROR");
- if(cValid && dontlog)
- {
- sIRC.iLog.WriteLog(" %s : [ %s(%d) ] Used Command: [ %s ] With Parameters: [ %s ]", sIRC.iLog.GetLogDateTimeStr().c_str(), CDATA.USER.c_str(), GetLevel(USER), CDATA.CMD.c_str(), CDATA.PARAMS.c_str());
- }
- return cValid;
- }
- return false;
-}
-
-bool IRCCmd::CanUse(std::string USER, int nLevel)
-{
- if(IsLoggedIn(USER))
- {
- if(GetLevel(USER) >= nLevel)
- return true;
- else
- return false;
- }
- else if(nLevel == 0)
- {
- return true;
- }
- else
- sIRC.Send_IRC_Channel(USER, "\0034[ERROR] : You Are Not Logged In!", true, "ERROR");
- return false;
-}
-
-std::string IRCCmd::ChanOrPM(_CDATA *CD)
-{
- if(CD->FROM == sIRC._Nick)
- return CD->USER;
- else
- return CD->FROM;
-}
-
-Player *IRCCmd::GetPlayer(std::string WHO)
-{
- normalizePlayerName(WHO);
- return ObjectAccessor::Instance().FindPlayerByName(WHO.c_str());
-}
-
-_client *IRCCmd::GetClient(std::string cname)
-{
- for(std::list<_client*>::iterator i=_CLIENTS.begin(); i!=_CLIENTS.end();i++)
- {
- if((*i)->Name == cname)
- return (*i);
- }
- return (NULL);
-}
-
-bool IRCCmd::IsLoggedIn(std::string USER)
-{
- for(std::list<_client*>::iterator i=_CLIENTS.begin(); i!=_CLIENTS.end();i++)
- {
- if((*i)->Name == USER)
- return true;
- }
- return false;
-}
-
-bool IRCCmd::AcctIsLoggedIn(std::string USER)
-{
- for(std::list<_client*>::iterator i=_CLIENTS.begin(); i!=_CLIENTS.end();i++)
- {
- if(MakeUpper((*i)->UName) == MakeUpper(USER))
- return true;
- }
- return false;
-}
-
-std::string IRCCmd::AcctIsBanned(std::string ACCT)
-{
- uint32 acctid = objmgr.GetAccountByAccountName(ACCT);
- std::string banned = "NOTBANNED";
- QueryResult *result = loginDatabase.PQuery("SELECT banreason FROM ip_banned WHERE ip=(SELECT last_ip FROM account WHERE id = '%i')", acctid);
- if(result)
- {
- banned = (*result)[0].GetCppString();
- delete result;
- return "IP Banned. Reason:" + banned;
- }
- QueryResult *result2 = loginDatabase.PQuery("SELECT banreason FROM account_banned WHERE id='%i'", acctid);
- if(result2)
- {
- banned = (*result2)[0].GetCppString();
- delete result2;
- return "Account Banned. Reason:" + banned;
- }
- return banned;
-}
-
-int IRCCmd::GetLevel(std::string sName)
-{
- for(std::list<_client*>::iterator i=_CLIENTS.begin(); i!=_CLIENTS.end();i++)
- {
- if((*i)->Name == sName)
- return (*i)->GMLevel;
- }
- return 0;
-}
-
-int IRCCmd::AcctLevel(std::string plnme)
-{
- uint64 guid = objmgr.GetPlayerGUIDByName(plnme);
- uint32 account_id = 0;
- uint32 security = 0;
- account_id = objmgr.GetPlayerAccountIdByGUID(guid);
- security = objmgr.GetSecurityByAccount(account_id);
- return security;
-}
-
-std::string IRCCmd::GetAccName(std::string sName)
-{
- for(std::list<_client*>::iterator i=_CLIENTS.begin(); i!=_CLIENTS.end();i++)
- {
- if((*i)->Name == sName)
- return (*i)->UName;
- }
- return "";
-}
-
-std::string IRCCmd::GetNameFromAcct(std::string sName)
-{
- for(std::list<_client*>::iterator i=_CLIENTS.begin(); i!=_CLIENTS.end();i++)
- {
- if((*i)->UName == sName)
- return (*i)->Name;
- }
- return "";
-}
-
-int IRCCmd::GetAcctIDFromName(std::string sName)
-{
- for(std::list<_client*>::iterator i=_CLIENTS.begin(); i!=_CLIENTS.end();i++)
- {
- if((*i)->Name == sName)
- {
- uint32 acct_id = 0;
- acct_id = objmgr.GetAccountByAccountName((*i)->UName.c_str());
- return acct_id;
- }
- }
- return 0;
-}
-
-std::string IRCCmd::GetAcctNameFromID(uint32 acctid)
-{
- QueryResult *result = loginDatabase.PQuery("SELECT username FROM account WHERE id = '%d'", acctid);
- if(result)
- {
- std::string name = (*result)[0].GetCppString();
- delete result;
- return name;
- }
-
- return "";
-}
-
-std::string IRCCmd::GetIPFromPlayer(std::string player)
-{
- QueryResult *result = CharacterDatabase.PQuery("SELECT account FROM characters WHERE name = '%s'", player.c_str());
- if(result)
- {
- std::string acctid = (*result)[0].GetCppString();
- delete result;
- QueryResult *result2 = loginDatabase.PQuery("SELECT last_ip FROM account WHERE id = '%s'", acctid.c_str());
- if(result2)
- {
- std::string ip = (*result2)[0].GetCppString();
- delete result2;
- return ip;
- }
- }
-
- return "";
-}
-
-std::string IRCCmd::SecToDay(std::string secons)
-{
- unsigned int seconds = atoi(secons.c_str());
- unsigned int days = seconds / 86400;
- unsigned int hours = seconds / 3600 % 24;
- unsigned int mins = seconds / 60 % 60;
- char tottime[1000];
- sprintf(tottime, "%iDays:%iHours:%iMinutes", days, hours, mins);
-
- return tottime;
-}
-
-bool IRCCmd::ValidParams(std::string PARAMS, int nCount)
-{
- if(nCount == 1 && PARAMS.size() == 0)
- return false;
- int pcount = 0;
- size_t p = -1;
- for(int i = 0;i < nCount;i++)
- {
- p = PARAMS.find(" ", p + 1);
- if(p == -1)
- break;
- else
- pcount++;
- }
- nCount--;
- if(pcount >= nCount)
- return true;
- else
- return false;
-}
-
-std::string* IRCCmd::getArray(std::string PARAMS, int nCount)
-{
- std::string *array = new std::string[nCount];
- if(PARAMS.size() > 0)
- {
- int pcnt = 0;
- size_t ps = 0;
- size_t pc = -1;
- for(int i = 0;i < nCount;i++)
- {
- pc = PARAMS.find(" ", pc + 1);
- if(i + 1 == nCount && nCount != 1)
- {
- if(ps > 0 && pc > 0)
- array[i] = PARAMS.substr(ps, PARAMS.size() - ps);
- }
- else
- array[i] = PARAMS.substr(ps, pc - ps);
- ps = pc + 1;
- }
- }
- return array;
-}
-
-std::string IRCCmd::MakeMsg(const char *sLine, ... )
-{
- va_list ap;
- char tmpoutp[1024];
- va_start(ap, sLine);
- vsnprintf(tmpoutp, 1024, sLine, ap );
- va_end(ap);
- std::string outp = tmpoutp;
- return outp;
-}
-
-void IRCClient::AHFunc(uint64 itmid, std::string itmnme, std::string plname, uint32 faction)
-{
- IRCCmd Command;
- Player* plr = Command.GetPlayer(plname);
- if(plr)
- {
- std::string itemname = itmnme;
-
- char temp [7];
- sprintf(temp, "%u", itmid);
- std::string itemid = temp;
-
- std::string wowname = "";
- std::string ircname = "";
- switch (plr->GetTeam())
- {
- case 67:wowname="|cffff0000"+plname+"|r";ircname="\0034"+plname;break; //horde
- case 469:wowname="|cff1589FF"+plname+"|r";ircname="\00312"+plname;break; //alliance
- }
-
- std::string wowfact = "|cffFF8040[Auction House]:|r";
- std::string ircfact = "\00304,08\037/!\\\037\017\00307 Auction House \00304,08\037/!\\\037\017";
- switch(faction)
- {
- //neutral
- case 7:wowfact="|cffff8040[Neutral Auction House]:|r";ircfact="\00304,08\037/!\\\037\017\00307 Neutral Auction House \00304,08\037/!\\\037\017";break;
- //horde
- case 6:wowfact="|cffff0000[Horde Auction House]:|r";ircfact="\00304,08\037/!\\\037\017\00304 Horde Auction House \00304,08\037/!\\\037\017";break;
- //alliance
- case 2:wowfact="|cff1589FF[Alliance Auction House]:|r";ircfact="\00304,08\037/!\\\037\017\00312 Alliance Auction House \00304,08\037/!\\\037\017";break;
- }
- std::string wowstr = Command.MakeMsg("%s A New Item Has Been Added |cffffffff|Hitem:%s:0:0:0:0:0:0:0|h[%s]|h|r. By: %s",wowfact.c_str(), itemid.c_str(), itemname.c_str(), wowname.c_str());
- std::string ircstr = Command.MakeMsg("%s A New Item Has Been Added [%s]. By: %s", ircfact.c_str(), itemname.c_str(), ircname.c_str());
-
- sIRC.Send_WoW_Channel(sIRC._wow_chan[sIRC.Status].c_str(), wowstr.c_str());
- sIRC.Send_IRC_Channel(sIRC._irc_chan[sIRC.Status].c_str(), ircstr.c_str());
- }
-}