Make chat bot really kick players.
This commit is contained in:
@@ -30,6 +30,8 @@ public:
|
|||||||
virtual ~ChatCleanerCallback();
|
virtual ~ChatCleanerCallback();
|
||||||
|
|
||||||
virtual void SignalChatBotMessage(const std::string &msg) = 0;
|
virtual void SignalChatBotMessage(const std::string &msg) = 0;
|
||||||
|
virtual void SignalKickPlayer(unsigned playerId) = 0;
|
||||||
|
virtual void SignalBanPlayer(unsigned playerId) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -250,7 +250,12 @@ ChatCleanerManager::HandleMessage(InternalChatCleanerPacket &msg)
|
|||||||
else if (msg.GetMsg()->present == ChatCleanerMessage_PR_cleanerChatReplyMessage)
|
else if (msg.GetMsg()->present == ChatCleanerMessage_PR_cleanerChatReplyMessage)
|
||||||
{
|
{
|
||||||
CleanerChatReplyMessage_t *netReply = &msg.GetMsg()->choice.cleanerChatReplyMessage;
|
CleanerChatReplyMessage_t *netReply = &msg.GetMsg()->choice.cleanerChatReplyMessage;
|
||||||
m_callback.SignalChatBotMessage(string((const char *)netReply->cleanerText->buf, netReply->cleanerText->size));
|
if (netReply->cleanerText)
|
||||||
|
m_callback.SignalChatBotMessage(string((const char *)netReply->cleanerText->buf, netReply->cleanerText->size));
|
||||||
|
if (netReply->cleanerActionType == cleanerActionType_cleanerActionKick)
|
||||||
|
m_callback.SignalKickPlayer(netReply->playerId);
|
||||||
|
else if (netReply->cleanerActionType == cleanerActionType_cleanerActionBan)
|
||||||
|
m_callback.SignalBanPlayer(netReply->playerId);
|
||||||
error = false;
|
error = false;
|
||||||
}
|
}
|
||||||
return error;
|
return error;
|
||||||
|
|||||||
@@ -93,11 +93,22 @@ public:
|
|||||||
{
|
{
|
||||||
m_server.GetSender().SignalSessionTerminated(session);
|
m_server.GetSender().SignalSessionTerminated(session);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void SignalChatBotMessage(const string &msg)
|
virtual void SignalChatBotMessage(const string &msg)
|
||||||
{
|
{
|
||||||
m_server.SendChatBotMsg(msg);
|
m_server.SendChatBotMsg(msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virtual void SignalKickPlayer(unsigned playerId)
|
||||||
|
{
|
||||||
|
m_server.RemovePlayer(playerId, ERR_NET_PLAYER_KICKED);
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void SignalBanPlayer(unsigned playerId)
|
||||||
|
{
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
|
||||||
virtual void ConnectSuccess()
|
virtual void ConnectSuccess()
|
||||||
{
|
{
|
||||||
LOG_MSG("Successfully connected to database.");
|
LOG_MSG("Successfully connected to database.");
|
||||||
|
|||||||
Reference in New Issue
Block a user