* InspIRCd -- Internet Relay Chat Daemon
*
* Copyright (C) 2019 linuxdaemon <linuxdaemon.irc@gmail.com>
- * Copyright (C) 2018-2019 Sadie Powell <sadie@witchery.services>
+ * Copyright (C) 2018-2020 Sadie Powell <sadie@witchery.services>
*
* This file is part of InspIRCd. InspIRCd is free software: you can
* redistribute it and/or modify it under the terms of the GNU General Public
return CMD_FAILURE;
unsigned int minrank = pm ? pm->GetPrefixRank() : 0;
- CTCTags::TagMessage message(source, chan, msgdetails.tags_out);
+ CTCTags::TagMessage message(source, chan, msgdetails.tags_out, msgtarget.status);
message.SetSideEffect(true);
const Channel::MemberMap& userlist = chan->GetUsers();
for (Channel::MemberMap::const_iterator iter = userlist.begin(); iter != userlist.end(); ++iter)
if (CommandParser::LoopCall(user, this, parameters, 0))
return CMD_SUCCESS;
+ // Check that the source has the message tags capability.
+ if (IS_LOCAL(user) && !cap.get(user))
+ return CMD_FAILURE;
+
// The specified message tags were empty.
if (parameters.GetTags().empty())
{
return CMD_FAILURE;
}
- // Check that the source has the message tags capability.
- if (IS_LOCAL(user) && !cap.get(user))
- return CMD_FAILURE;
-
// The target is a server glob.
if (parameters[0][0] == '$')
return HandleServerTarget(user, parameters);