mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-31 04:56:20 +00:00
[Rules] Add rule to allow players to permanently save chat channels to database, up to a limit. (#2706)
* Initial code * Tweak * Rule description tweak * More channel work * More adjustments * Auto-join saved permanent player channels * Fix UCS crash if player has no channels to load from table. * Implemented channel blocking feature * Update database when player channel's owner or password change * First round of requested changes. * Logic tweak to ensure player channels are sets to permanent when appropraite * name_filter table integration and some refactoring * Use new `reserved_channel_names` table to block specific channel names. * Remove some legacy channel block code * Setup required SQL update to create `reserved_channel_names` table. * Update db_update_manifest.txt * Update db_update_manifest.txt * Update chatchannel.cpp * Code review * Database to UCSDatabase * Repository SaveChatChannel * CurrentPlayerChannelCount repository * Cleanup name filter * CreateChannel * Update websocketpp * Increment CURRENT_BINARY_DATABASE_VERSION Set to 9216 * Minor tweaks to blocked channel name checks & other related areas. - Enforce blocked channel names on channel creation. - Also enforce blocked channel names on channel join. - Add channel status check to Debug logging. - Minor formatting adjustments. - Add single quotes to column name value in query. * Minor log change * Increment DB Version * Formatting Tweaks - Made formatting adjustments consistent with KinglyKrab's recommended changes. - This compiles successfully with these changes, but unable to test the changes until this weekend. Co-authored-by: Akkadius <akkadius1@gmail.com>
This commit is contained in:
+5
-4
@@ -92,9 +92,9 @@ public:
|
||||
void SendMailBoxes();
|
||||
inline void QueuePacket(const EQApplicationPacket *p, bool ack_req=true) { ClientStream->QueuePacket(p, ack_req); }
|
||||
std::string GetName() { if(Characters.size()) return Characters[0].Name; else return ""; }
|
||||
void JoinChannels(std::string ChannelList);
|
||||
void LeaveChannels(std::string ChannelList);
|
||||
void LeaveAllChannels(bool SendUpdatedChannelList = true);
|
||||
void JoinChannels(std::string& channel_name_list, bool command_directed = false);
|
||||
void LeaveChannels(std::string& channel_name_list, bool command_directed = false);
|
||||
void LeaveAllChannels(bool send_updated_channel_list = true, bool command_directed = false);
|
||||
void AddToChannelList(ChatChannel *JoinedChannel);
|
||||
void RemoveFromChannelList(ChatChannel *JoinedChannel);
|
||||
void SendChannelMessage(std::string Message);
|
||||
@@ -112,6 +112,7 @@ public:
|
||||
void ProcessChannelList(std::string CommandString);
|
||||
void AccountUpdate();
|
||||
int ChannelCount();
|
||||
std::string RemoveDuplicateChannels(std::string& in_channels);
|
||||
inline void SetAccountID(int inAccountID) { AccountID = inAccountID; }
|
||||
inline int GetAccountID() { return AccountID; }
|
||||
inline void SetAccountStatus(int inStatus) { Status = inStatus; }
|
||||
@@ -187,7 +188,7 @@ public:
|
||||
void CheckForStaleConnectionsAll();
|
||||
void CheckForStaleConnections(Client *c);
|
||||
Client *IsCharacterOnline(std::string CharacterName);
|
||||
void ProcessOPMailCommand(Client *c, std::string CommandString);
|
||||
void ProcessOPMailCommand(Client* c, std::string command_string, bool command_directed = false);
|
||||
|
||||
private:
|
||||
EQ::Net::EQStreamManager *chatsf;
|
||||
|
||||
Reference in New Issue
Block a user