/*
* InspIRCd -- Internet Relay Chat Daemon
*
+ * Copyright (C) 2013-2016, 2018 Attila Molnar <attilamolnar@hush.com>
+ * Copyright (C) 2012-2013, 2017-2020 Sadie Powell <sadie@witchery.services>
+ * Copyright (C) 2012 Robby <robby@chatbelgie.be>
* Copyright (C) 2009 Daniel De Graaf <danieldg@inspircd.org>
- * Copyright (C) 2007 Robin Burchell <robin+git@viroteck.net>
- * Copyright (C) 2007 Dennis Friis <peavey@inspircd.org>
- * Copyright (C) 2003-2007 Craig Edwards <craigedwards@brainbox.cc>
+ * Copyright (C) 2007-2008 Robin Burchell <robin+git@viroteck.net>
+ * Copyright (C) 2007, 2009 Dennis Friis <peavey@inspircd.org>
+ * Copyright (C) 2003-2006, 2008, 2010 Craig Edwards <brain@inspircd.org>
*
* 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
* This class contains a single element in a channel list, such as a banlist.
*/
-/** Holds all relevent information for a channel.
+/** Holds all relevant information for a channel.
* This class represents a channel, and contains its name, modes, topic, topic set time,
* etc, and an instance of the BanList type.
*/
* @param user The user to add
*
* The data inserted into the reference list is a table as it is
- * an arbitary pointer compared to other users by its memory address,
+ * an arbitrary pointer compared to other users by its memory address,
* as this is a very fast 32 or 64 bit integer comparison.
*/
Membership* AddUser(User* user);
/** Join a user to an existing channel, without doing any permission checks
* @param user The user to join to the channel
- * @param privs Priviliges (prefix mode letters) to give to this user, may be NULL
+ * @param privs Privileges (prefix mode letters) to give to this user, may be NULL
* @param bursting True if this join is the result of a netburst (passed to modules in the OnUserJoin hook)
* @param created_by_local True if this channel was just created by a local user (passed to modules in the OnUserJoin hook)
* @return A newly created Membership object, or NULL if the user was already inside the channel or if the user is a server user
/** Write to all users on a channel except some users
* @param protoev Event to send, may contain any number of messages.
* @param status The status of the users to write to, e.g. '@' or '%'. Use a value of 0 to write to everyone
- * @param text A std::string containing the output line without prefix
* @param except_list List of users not to send to
*/
void Write(ClientProtocol::Event& protoev, char status = 0, const CUList& except_list = CUList());
* @param protoevprov Protocol event provider for the message.
* @param msg Message to send.
* @param status The status of the users to write to, e.g. '@' or '%'. Use a value of 0 to write to everyone
- * @param text A std::string containing the output line without prefix
* @param except_list List of users not to send to
*/
void Write(ClientProtocol::EventProvider& protoevprov, ClientProtocol::Message& msg, char status = 0, const CUList& except_list = CUList());
/** Return the channel's modes with parameters.
- * @param showkey If this is set to true, the actual key is shown,
- * otherwise it is replaced with '<KEY>'
+ * @param showsecret If this is set to true, the value of secret parameters
+ * are shown, otherwise they are replaced with '<name>'.
* @return The channel mode string
*/
- const char* ChanModes(bool showkey);
+ const char* ChanModes(bool showsecret);
/** Get the value of a users prefix on this channel.
* @param user The user to look up
/** Write a NOTICE to all local users on the channel
* @param text Text to send
+ * @param status The minimum status rank to send this message to.
*/
- void WriteNotice(const std::string& text);
+ void WriteNotice(const std::string& text, char status = 0);
+ void WriteRemoteNotice(const std::string& text, char status = 0);
};
inline bool Channel::HasUser(User* user)