AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
Channel.h File Reference
#include "Common.h"
#include "WorldPacket.h"
#include "WorldSession.h"
#include <list>
#include <map>
#include <string>
#include <utility>

Go to the source code of this file.

Classes

class  ChannelRights
 
class  Channel
 
struct  Channel::PlayerInfo
 

Macros

#define CHANNEL_BAN_DURATION   DAY*60
 

Enumerations

enum  ChatNotify : uint8 {
  CHAT_JOINED_NOTICE = 0x00 ,
  CHAT_LEFT_NOTICE = 0x01 ,
  CHAT_YOU_JOINED_NOTICE = 0x02 ,
  CHAT_YOU_LEFT_NOTICE = 0x03 ,
  CHAT_WRONG_PASSWORD_NOTICE = 0x04 ,
  CHAT_NOT_MEMBER_NOTICE = 0x05 ,
  CHAT_NOT_MODERATOR_NOTICE = 0x06 ,
  CHAT_PASSWORD_CHANGED_NOTICE = 0x07 ,
  CHAT_OWNER_CHANGED_NOTICE = 0x08 ,
  CHAT_PLAYER_NOT_FOUND_NOTICE = 0x09 ,
  CHAT_NOT_OWNER_NOTICE = 0x0A ,
  CHAT_CHANNEL_OWNER_NOTICE = 0x0B ,
  CHAT_MODE_CHANGE_NOTICE = 0x0C ,
  CHAT_ANNOUNCEMENTS_ON_NOTICE = 0x0D ,
  CHAT_ANNOUNCEMENTS_OFF_NOTICE = 0x0E ,
  CHAT_MODERATION_ON_NOTICE = 0x0F ,
  CHAT_MODERATION_OFF_NOTICE = 0x10 ,
  CHAT_MUTED_NOTICE = 0x11 ,
  CHAT_PLAYER_KICKED_NOTICE = 0x12 ,
  CHAT_BANNED_NOTICE = 0x13 ,
  CHAT_PLAYER_BANNED_NOTICE = 0x14 ,
  CHAT_PLAYER_UNBANNED_NOTICE = 0x15 ,
  CHAT_PLAYER_NOT_BANNED_NOTICE = 0x16 ,
  CHAT_PLAYER_ALREADY_MEMBER_NOTICE = 0x17 ,
  CHAT_INVITE_NOTICE = 0x18 ,
  CHAT_INVITE_WRONG_FACTION_NOTICE = 0x19 ,
  CHAT_WRONG_FACTION_NOTICE = 0x1A ,
  CHAT_INVALID_NAME_NOTICE = 0x1B ,
  CHAT_NOT_MODERATED_NOTICE = 0x1C ,
  CHAT_PLAYER_INVITED_NOTICE = 0x1D ,
  CHAT_PLAYER_INVITE_BANNED_NOTICE = 0x1E ,
  CHAT_THROTTLED_NOTICE = 0x1F ,
  CHAT_NOT_IN_AREA_NOTICE = 0x20 ,
  CHAT_NOT_IN_LFG_NOTICE = 0x21 ,
  CHAT_VOICE_ON_NOTICE = 0x22 ,
  CHAT_VOICE_OFF_NOTICE = 0x23
}
 
enum  ChannelFlags {
  CHANNEL_FLAG_NONE = 0x00 ,
  CHANNEL_FLAG_CUSTOM = 0x01 ,
  CHANNEL_FLAG_TRADE = 0x04 ,
  CHANNEL_FLAG_NOT_LFG = 0x08 ,
  CHANNEL_FLAG_GENERAL = 0x10 ,
  CHANNEL_FLAG_CITY = 0x20 ,
  CHANNEL_FLAG_LFG = 0x40 ,
  CHANNEL_FLAG_VOICE = 0x80
}
 
enum  ChannelDBCFlags {
  CHANNEL_DBC_FLAG_NONE = 0x00000 ,
  CHANNEL_DBC_FLAG_INITIAL = 0x00001 ,
  CHANNEL_DBC_FLAG_ZONE_DEP = 0x00002 ,
  CHANNEL_DBC_FLAG_GLOBAL = 0x00004 ,
  CHANNEL_DBC_FLAG_TRADE = 0x00008 ,
  CHANNEL_DBC_FLAG_CITY_ONLY = 0x00010 ,
  CHANNEL_DBC_FLAG_CITY_ONLY2 = 0x00020 ,
  CHANNEL_DBC_FLAG_DEFENSE = 0x10000 ,
  CHANNEL_DBC_FLAG_GUILD_REQ = 0x20000 ,
  CHANNEL_DBC_FLAG_LFG = 0x40000 ,
  CHANNEL_DBC_FLAG_UNK1 = 0x80000
}
 
enum  ChannelMemberFlags {
  MEMBER_FLAG_NONE = 0x00 ,
  MEMBER_FLAG_OWNER = 0x01 ,
  MEMBER_FLAG_MODERATOR = 0x02 ,
  MEMBER_FLAG_VOICED = 0x04 ,
  MEMBER_FLAG_MUTED = 0x08 ,
  MEMBER_FLAG_CUSTOM = 0x10 ,
  MEMBER_FLAG_MIC_MUTED = 0x20
}
 
enum  eChannelRights {
  CHANNEL_RIGHT_FORCE_NO_ANNOUNCEMENTS = 0x001 ,
  CHANNEL_RIGHT_FORCE_ANNOUNCEMENTS = 0x002 ,
  CHANNEL_RIGHT_NO_OWNERSHIP = 0x004 ,
  CHANNEL_RIGHT_CANT_SPEAK = 0x008 ,
  CHANNEL_RIGHT_CANT_BAN = 0x010 ,
  CHANNEL_RIGHT_CANT_KICK = 0x020 ,
  CHANNEL_RIGHT_CANT_MUTE = 0x040 ,
  CHANNEL_RIGHT_CANT_CHANGE_PASSWORD = 0x080 ,
  CHANNEL_RIGHT_DONT_PRESERVE = 0x100
}
 

Macro Definition Documentation

◆ CHANNEL_BAN_DURATION

#define CHANNEL_BAN_DURATION   DAY*60

Enumeration Type Documentation

◆ ChannelDBCFlags

Enumerator
CHANNEL_DBC_FLAG_NONE 
CHANNEL_DBC_FLAG_INITIAL 
CHANNEL_DBC_FLAG_ZONE_DEP 
CHANNEL_DBC_FLAG_GLOBAL 
CHANNEL_DBC_FLAG_TRADE 
CHANNEL_DBC_FLAG_CITY_ONLY 
CHANNEL_DBC_FLAG_CITY_ONLY2 
CHANNEL_DBC_FLAG_DEFENSE 
CHANNEL_DBC_FLAG_GUILD_REQ 
CHANNEL_DBC_FLAG_LFG 
CHANNEL_DBC_FLAG_UNK1 
95{
96 CHANNEL_DBC_FLAG_NONE = 0x00000,
97 CHANNEL_DBC_FLAG_INITIAL = 0x00001, // General, Trade, LocalDefense, LFG
98 CHANNEL_DBC_FLAG_ZONE_DEP = 0x00002, // General, Trade, LocalDefense, GuildRecruitment
99 CHANNEL_DBC_FLAG_GLOBAL = 0x00004, // WorldDefense
100 CHANNEL_DBC_FLAG_TRADE = 0x00008, // Trade, LFG
101 CHANNEL_DBC_FLAG_CITY_ONLY = 0x00010, // Trade, GuildRecruitment, LFG
102 CHANNEL_DBC_FLAG_CITY_ONLY2 = 0x00020, // Trade, GuildRecruitment, LFG
103 CHANNEL_DBC_FLAG_DEFENSE = 0x10000, // LocalDefense, WorldDefense
104 CHANNEL_DBC_FLAG_GUILD_REQ = 0x20000, // GuildRecruitment
105 CHANNEL_DBC_FLAG_LFG = 0x40000, // LFG
106 CHANNEL_DBC_FLAG_UNK1 = 0x80000 // General
107};
@ CHANNEL_DBC_FLAG_NONE
Definition: Channel.h:96
@ CHANNEL_DBC_FLAG_TRADE
Definition: Channel.h:100
@ CHANNEL_DBC_FLAG_CITY_ONLY
Definition: Channel.h:101
@ CHANNEL_DBC_FLAG_GUILD_REQ
Definition: Channel.h:104
@ CHANNEL_DBC_FLAG_ZONE_DEP
Definition: Channel.h:98
@ CHANNEL_DBC_FLAG_GLOBAL
Definition: Channel.h:99
@ CHANNEL_DBC_FLAG_UNK1
Definition: Channel.h:106
@ CHANNEL_DBC_FLAG_CITY_ONLY2
Definition: Channel.h:102
@ CHANNEL_DBC_FLAG_LFG
Definition: Channel.h:105
@ CHANNEL_DBC_FLAG_DEFENSE
Definition: Channel.h:103
@ CHANNEL_DBC_FLAG_INITIAL
Definition: Channel.h:97

◆ ChannelFlags

Enumerator
CHANNEL_FLAG_NONE 
CHANNEL_FLAG_CUSTOM 
CHANNEL_FLAG_TRADE 
CHANNEL_FLAG_NOT_LFG 
CHANNEL_FLAG_GENERAL 
CHANNEL_FLAG_CITY 
CHANNEL_FLAG_LFG 
CHANNEL_FLAG_VOICE 
77{
78 CHANNEL_FLAG_NONE = 0x00,
80 // 0x02
81 CHANNEL_FLAG_TRADE = 0x04,
84 CHANNEL_FLAG_CITY = 0x20,
85 CHANNEL_FLAG_LFG = 0x40,
87 // General 0x18 = 0x10 | 0x08
88 // Trade 0x3C = 0x20 | 0x10 | 0x08 | 0x04
89 // LocalDefence 0x18 = 0x10 | 0x08
90 // GuildRecruitment 0x38 = 0x20 | 0x10 | 0x08
91 // LookingForGroup 0x50 = 0x40 | 0x10
92};
@ CHANNEL_FLAG_VOICE
Definition: Channel.h:86
@ CHANNEL_FLAG_NONE
Definition: Channel.h:78
@ CHANNEL_FLAG_TRADE
Definition: Channel.h:81
@ CHANNEL_FLAG_NOT_LFG
Definition: Channel.h:82
@ CHANNEL_FLAG_GENERAL
Definition: Channel.h:83
@ CHANNEL_FLAG_CUSTOM
Definition: Channel.h:79
@ CHANNEL_FLAG_LFG
Definition: Channel.h:85
@ CHANNEL_FLAG_CITY
Definition: Channel.h:84

◆ ChannelMemberFlags

Enumerator
MEMBER_FLAG_NONE 
MEMBER_FLAG_OWNER 
MEMBER_FLAG_MODERATOR 
MEMBER_FLAG_VOICED 
MEMBER_FLAG_MUTED 
MEMBER_FLAG_CUSTOM 
MEMBER_FLAG_MIC_MUTED 
110{
111 MEMBER_FLAG_NONE = 0x00,
112 MEMBER_FLAG_OWNER = 0x01,
114 MEMBER_FLAG_VOICED = 0x04,
115 MEMBER_FLAG_MUTED = 0x08,
116 MEMBER_FLAG_CUSTOM = 0x10,
118 // 0x40
119 // 0x80
120};
@ MEMBER_FLAG_MUTED
Definition: Channel.h:115
@ MEMBER_FLAG_CUSTOM
Definition: Channel.h:116
@ MEMBER_FLAG_MIC_MUTED
Definition: Channel.h:117
@ MEMBER_FLAG_VOICED
Definition: Channel.h:114
@ MEMBER_FLAG_MODERATOR
Definition: Channel.h:113
@ MEMBER_FLAG_NONE
Definition: Channel.h:111
@ MEMBER_FLAG_OWNER
Definition: Channel.h:112

◆ ChatNotify

enum ChatNotify : uint8
Enumerator
CHAT_JOINED_NOTICE 
CHAT_LEFT_NOTICE 
CHAT_YOU_JOINED_NOTICE 
CHAT_YOU_LEFT_NOTICE 
CHAT_WRONG_PASSWORD_NOTICE 
CHAT_NOT_MEMBER_NOTICE 
CHAT_NOT_MODERATOR_NOTICE 
CHAT_PASSWORD_CHANGED_NOTICE 
CHAT_OWNER_CHANGED_NOTICE 
CHAT_PLAYER_NOT_FOUND_NOTICE 
CHAT_NOT_OWNER_NOTICE 
CHAT_CHANNEL_OWNER_NOTICE 
CHAT_MODE_CHANGE_NOTICE 
CHAT_ANNOUNCEMENTS_ON_NOTICE 
CHAT_ANNOUNCEMENTS_OFF_NOTICE 
CHAT_MODERATION_ON_NOTICE 
CHAT_MODERATION_OFF_NOTICE 
CHAT_MUTED_NOTICE 
CHAT_PLAYER_KICKED_NOTICE 
CHAT_BANNED_NOTICE 
CHAT_PLAYER_BANNED_NOTICE 
CHAT_PLAYER_UNBANNED_NOTICE 
CHAT_PLAYER_NOT_BANNED_NOTICE 
CHAT_PLAYER_ALREADY_MEMBER_NOTICE 
CHAT_INVITE_NOTICE 
CHAT_INVITE_WRONG_FACTION_NOTICE 
CHAT_WRONG_FACTION_NOTICE 
CHAT_INVALID_NAME_NOTICE 
CHAT_NOT_MODERATED_NOTICE 
CHAT_PLAYER_INVITED_NOTICE 
CHAT_PLAYER_INVITE_BANNED_NOTICE 
CHAT_THROTTLED_NOTICE 
CHAT_NOT_IN_AREA_NOTICE 
CHAT_NOT_IN_LFG_NOTICE 
CHAT_VOICE_ON_NOTICE 
CHAT_VOICE_OFF_NOTICE 
35{
36 CHAT_JOINED_NOTICE = 0x00, //+ "%s joined channel.";
37 CHAT_LEFT_NOTICE = 0x01, //+ "%s left channel.";
38 //CHAT_SUSPENDED_NOTICE = 0x01, // "%s left channel.";
39 CHAT_YOU_JOINED_NOTICE = 0x02, //+ "Joined Channel: [%s]"; -- You joined
40 //CHAT_YOU_CHANGED_NOTICE = 0x02, // "Changed Channel: [%s]";
41 CHAT_YOU_LEFT_NOTICE = 0x03, //+ "Left Channel: [%s]"; -- You left
42 CHAT_WRONG_PASSWORD_NOTICE = 0x04, //+ "Wrong password for %s.";
43 CHAT_NOT_MEMBER_NOTICE = 0x05, //+ "Not on channel %s.";
44 CHAT_NOT_MODERATOR_NOTICE = 0x06, //+ "Not a moderator of %s.";
45 CHAT_PASSWORD_CHANGED_NOTICE = 0x07, //+ "[%s] Password changed by %s.";
46 CHAT_OWNER_CHANGED_NOTICE = 0x08, //+ "[%s] Owner changed to %s.";
47 CHAT_PLAYER_NOT_FOUND_NOTICE = 0x09, //+ "[%s] Player %s was not found.";
48 CHAT_NOT_OWNER_NOTICE = 0x0A, //+ "[%s] You are not the channel owner.";
49 CHAT_CHANNEL_OWNER_NOTICE = 0x0B, //+ "[%s] Channel owner is %s.";
50 CHAT_MODE_CHANGE_NOTICE = 0x0C, //?
51 CHAT_ANNOUNCEMENTS_ON_NOTICE = 0x0D, //+ "[%s] Channel announcements enabled by %s.";
52 CHAT_ANNOUNCEMENTS_OFF_NOTICE = 0x0E, //+ "[%s] Channel announcements disabled by %s.";
53 CHAT_MODERATION_ON_NOTICE = 0x0F, //+ "[%s] Channel moderation enabled by %s.";
54 CHAT_MODERATION_OFF_NOTICE = 0x10, //+ "[%s] Channel moderation disabled by %s.";
55 CHAT_MUTED_NOTICE = 0x11, //+ "[%s] You do not have permission to speak.";
56 CHAT_PLAYER_KICKED_NOTICE = 0x12, //? "[%s] Player %s kicked by %s.";
57 CHAT_BANNED_NOTICE = 0x13, //+ "[%s] You are bannedStore from that channel.";
58 CHAT_PLAYER_BANNED_NOTICE = 0x14, //? "[%s] Player %s bannedStore by %s.";
59 CHAT_PLAYER_UNBANNED_NOTICE = 0x15, //? "[%s] Player %s unbanned by %s.";
60 CHAT_PLAYER_NOT_BANNED_NOTICE = 0x16, //+ "[%s] Player %s is not bannedStore.";
61 CHAT_PLAYER_ALREADY_MEMBER_NOTICE = 0x17, //+ "[%s] Player %s is already on the channel.";
62 CHAT_INVITE_NOTICE = 0x18, //+ "%2$s has invited you to join the channel '%1$s'.";
63 CHAT_INVITE_WRONG_FACTION_NOTICE = 0x19, //+ "Target is in the wrong alliance for %s.";
64 CHAT_WRONG_FACTION_NOTICE = 0x1A, //+ "Wrong alliance for %s.";
65 CHAT_INVALID_NAME_NOTICE = 0x1B, //+ "Invalid channel name";
66 CHAT_NOT_MODERATED_NOTICE = 0x1C, //+ "%s is not moderated";
67 CHAT_PLAYER_INVITED_NOTICE = 0x1D, //+ "[%s] You invited %s to join the channel";
68 CHAT_PLAYER_INVITE_BANNED_NOTICE = 0x1E, //+ "[%s] %s has been bannedStore.";
69 CHAT_THROTTLED_NOTICE = 0x1F, //+ "[%s] The number of messages that can be sent to this channel is limited, please wait to send another message.";
70 CHAT_NOT_IN_AREA_NOTICE = 0x20, //+ "[%s] You are not in the correct area for this channel."; -- The user is trying to send a chat to a zone specific channel, and they're not physically in that zone.
71 CHAT_NOT_IN_LFG_NOTICE = 0x21, //+ "[%s] You must be queued in looking for group before joining this channel."; -- The user must be in the looking for group system to join LFG chat channels.
72 CHAT_VOICE_ON_NOTICE = 0x22, //+ "[%s] Channel voice enabled by %s.";
73 CHAT_VOICE_OFF_NOTICE = 0x23 //+ "[%s] Channel voice disabled by %s.";
74};
@ CHAT_YOU_JOINED_NOTICE
Definition: Channel.h:39
@ CHAT_MODERATION_OFF_NOTICE
Definition: Channel.h:54
@ CHAT_WRONG_FACTION_NOTICE
Definition: Channel.h:64
@ CHAT_NOT_MODERATOR_NOTICE
Definition: Channel.h:44
@ CHAT_PLAYER_UNBANNED_NOTICE
Definition: Channel.h:59
@ CHAT_PLAYER_NOT_FOUND_NOTICE
Definition: Channel.h:47
@ CHAT_MUTED_NOTICE
Definition: Channel.h:55
@ CHAT_PLAYER_NOT_BANNED_NOTICE
Definition: Channel.h:60
@ CHAT_PLAYER_INVITED_NOTICE
Definition: Channel.h:67
@ CHAT_PLAYER_KICKED_NOTICE
Definition: Channel.h:56
@ CHAT_VOICE_OFF_NOTICE
Definition: Channel.h:73
@ CHAT_MODE_CHANGE_NOTICE
Definition: Channel.h:50
@ CHAT_NOT_MEMBER_NOTICE
Definition: Channel.h:43
@ CHAT_ANNOUNCEMENTS_ON_NOTICE
Definition: Channel.h:51
@ CHAT_JOINED_NOTICE
Definition: Channel.h:36
@ CHAT_LEFT_NOTICE
Definition: Channel.h:37
@ CHAT_INVITE_WRONG_FACTION_NOTICE
Definition: Channel.h:63
@ CHAT_BANNED_NOTICE
Definition: Channel.h:57
@ CHAT_PLAYER_BANNED_NOTICE
Definition: Channel.h:58
@ CHAT_PLAYER_ALREADY_MEMBER_NOTICE
Definition: Channel.h:61
@ CHAT_OWNER_CHANGED_NOTICE
Definition: Channel.h:46
@ CHAT_ANNOUNCEMENTS_OFF_NOTICE
Definition: Channel.h:52
@ CHAT_VOICE_ON_NOTICE
Definition: Channel.h:72
@ CHAT_NOT_IN_LFG_NOTICE
Definition: Channel.h:71
@ CHAT_NOT_IN_AREA_NOTICE
Definition: Channel.h:70
@ CHAT_NOT_MODERATED_NOTICE
Definition: Channel.h:66
@ CHAT_YOU_LEFT_NOTICE
Definition: Channel.h:41
@ CHAT_CHANNEL_OWNER_NOTICE
Definition: Channel.h:49
@ CHAT_WRONG_PASSWORD_NOTICE
Definition: Channel.h:42
@ CHAT_THROTTLED_NOTICE
Definition: Channel.h:69
@ CHAT_PLAYER_INVITE_BANNED_NOTICE
Definition: Channel.h:68
@ CHAT_INVITE_NOTICE
Definition: Channel.h:62
@ CHAT_NOT_OWNER_NOTICE
Definition: Channel.h:48
@ CHAT_PASSWORD_CHANGED_NOTICE
Definition: Channel.h:45
@ CHAT_INVALID_NAME_NOTICE
Definition: Channel.h:65
@ CHAT_MODERATION_ON_NOTICE
Definition: Channel.h:53

◆ eChannelRights

Enumerator
CHANNEL_RIGHT_FORCE_NO_ANNOUNCEMENTS 
CHANNEL_RIGHT_FORCE_ANNOUNCEMENTS 
CHANNEL_RIGHT_NO_OWNERSHIP 
CHANNEL_RIGHT_CANT_SPEAK 
CHANNEL_RIGHT_CANT_BAN 
CHANNEL_RIGHT_CANT_KICK 
CHANNEL_RIGHT_CANT_MUTE 
CHANNEL_RIGHT_CANT_CHANGE_PASSWORD 
CHANNEL_RIGHT_DONT_PRESERVE 
135{
145};
@ CHANNEL_RIGHT_CANT_BAN
Definition: Channel.h:140
@ CHANNEL_RIGHT_FORCE_NO_ANNOUNCEMENTS
Definition: Channel.h:136
@ CHANNEL_RIGHT_CANT_KICK
Definition: Channel.h:141
@ CHANNEL_RIGHT_DONT_PRESERVE
Definition: Channel.h:144
@ CHANNEL_RIGHT_FORCE_ANNOUNCEMENTS
Definition: Channel.h:137
@ CHANNEL_RIGHT_CANT_SPEAK
Definition: Channel.h:139
@ CHANNEL_RIGHT_CANT_CHANGE_PASSWORD
Definition: Channel.h:143
@ CHANNEL_RIGHT_CANT_MUTE
Definition: Channel.h:142
@ CHANNEL_RIGHT_NO_OWNERSHIP
Definition: Channel.h:138