mirror of https://notabug.org/acetone/ircabot.git
отмена выдачи в ЛС любым сообщением боту
parent
c4200eaace
commit
001d939fa5
13
main.cpp
13
main.cpp
|
@ -49,12 +49,12 @@ void sendVectorToUser()
|
|||
std::cout << "sendVectorToUser+ " << sendVectorToUser_COUNTER << std::endl;
|
||||
|
||||
int messageCounter = 0;
|
||||
bool stopped = false;
|
||||
for (auto str: messages)
|
||||
{
|
||||
std::string triggerToStop = tsc->get_raw_msg_from_socket();
|
||||
if (triggerToStop.find(":" + nick + "!") == 0 &&
|
||||
triggerToStop.find("PRIVMSG " + tsc->params["nickname"]) != std::string::npos) {
|
||||
break; // Ник появился в стопе
|
||||
if (tsc->have_pm_from_user(nick)) { // Ник появился в стопе
|
||||
stopped = true;
|
||||
break;
|
||||
}
|
||||
|
||||
if (messageCounter++ < 20) {
|
||||
|
@ -63,12 +63,11 @@ void sendVectorToUser()
|
|||
}
|
||||
else {
|
||||
messageCounter = 0;
|
||||
tsc->write_to_user(nick, "buffering...");
|
||||
std::this_thread::sleep_for(std::chrono::seconds(3));
|
||||
std::this_thread::sleep_for(std::chrono::seconds(2));
|
||||
tsc->write_to_user(nick, str);
|
||||
}
|
||||
}
|
||||
tsc->write_to_user(nick, "*** END ***");
|
||||
tsc->write_to_user(nick, stopped ? "*** STOP ***" : "*** END ***");
|
||||
tsc->write_to_user(nick, conf["links"]);
|
||||
--sendVectorToUser_COUNTER;
|
||||
std::cout << "sendVectorToUser- " << sendVectorToUser_COUNTER << std::endl;
|
||||
|
|
|
@ -80,9 +80,10 @@ std::string TcpSyncClient::get_raw_nick()
|
|||
return m_raw_nickname;
|
||||
}
|
||||
|
||||
std::string TcpSyncClient::get_raw_msg_from_socket()
|
||||
bool TcpSyncClient::have_pm_from_user(std::string nick)
|
||||
{
|
||||
return raw_msg_from_socket;
|
||||
return (raw_msg_from_socket.find(":" + nick + "!") == 0 &&
|
||||
raw_msg_from_socket.find("PRIVMSG " + params["nickname"]) != std::string::npos);
|
||||
}
|
||||
|
||||
bool TcpSyncClient::connect_to_ep()
|
||||
|
|
|
@ -26,7 +26,7 @@ public:
|
|||
std::string get_msg_nick(); // Сообщение боту
|
||||
std::string get_raw(); // Ник сообщения на канале
|
||||
std::string get_raw_nick(); // Сообщение на канале
|
||||
std::string get_raw_msg_from_socket(); // Для получения сырого сообщения
|
||||
bool have_pm_from_user(std::string); // Для получения сырого сообщения
|
||||
~TcpSyncClient();
|
||||
|
||||
bool to_read; // Индикаторы наличия информации для чтения
|
||||
|
|
Loading…
Reference in New Issue