// SAMPLE_PLUGIN.cpp : Defines the entry point for the DLL application. // #include "bzfsAPI.h" #include extern std::string StringToUpper(std::string strtoconv); BZ_GET_PLUGIN_VERSION class BZFSBotHandler : public bz_EventHandler { public: BZFSBotHandler(); virtual ~BZFSBotHandler(); virtual void process ( bz_EventData *eventData ); virtual bool autoDelete ( void ) { return false;} // this will be used for more then one event }; BZFSBotHandler bot; BZF_PLUGIN_CALL int bz_Load ( const char* commandLine ) { bz_debugMessage(4,"BZFSBot plugin loaded. Party Time!"); bz_registerEvent(bz_eChatMessageEvent,BZ_ALL_USERS,&bot); return 0; } BZF_PLUGIN_CALL int bz_Unload ( void ) { bz_debugMessage(4,"BZFSBot plugin unloaded"); bz_removeEvent(bz_eChatMessageEvent,BZ_ALL_USERS,&bot); return 0; } BZFSBotHandler::BZFSBotHandler() { } BZFSBotHandler::~BZFSBotHandler() { } void BZFSBotHandler::process ( bz_EventData *eventData ) { switch (eventData->eventType) { default: // really WTF!!!! break; case bz_eChatMessageEvent: { bz_ChatEventData *chat = (bz_ChatEventData*)eventData; int sender = chat->from; std::string message = chat->message.c_str();//convert bzAPI string to std::string for substr bz_sendTextMessage(BZ_SERVER, BZ_ALL_USERS, chat->message.c_str()); if(StringToUpper(message.substr(1))== std::string("~")) { if(StringToUpper(message) == "~HI") { bz_sendTextMessage(BZ_SERVER, BZ_ALL_USERS, "Hello"); } } } break; } }