Documentation ¶
Index ¶
- Constants
- type Actor
- type AdminAffiliation
- func (*AdminAffiliation) IsAdmin() bool
- func (*AdminAffiliation) IsBanned() bool
- func (*AdminAffiliation) IsDifferentFrom(a Affiliation) bool
- func (*AdminAffiliation) IsLowerThan(a Affiliation) bool
- func (*AdminAffiliation) IsMember() bool
- func (*AdminAffiliation) IsModerator() bool
- func (*AdminAffiliation) IsNone() bool
- func (*AdminAffiliation) IsOutcast() bool
- func (*AdminAffiliation) IsOwner() bool
- func (*AdminAffiliation) Name() string
- type Affiliation
- type AffiliationRoleUpdate
- type AffiliationUpdate
- type DelayedMessage
- type DelayedMessages
- type DiscussionHistory
- type MemberAffiliation
- func (*MemberAffiliation) IsAdmin() bool
- func (*MemberAffiliation) IsBanned() bool
- func (*MemberAffiliation) IsDifferentFrom(a Affiliation) bool
- func (*MemberAffiliation) IsLowerThan(a Affiliation) bool
- func (*MemberAffiliation) IsMember() bool
- func (*MemberAffiliation) IsModerator() bool
- func (*MemberAffiliation) IsNone() bool
- func (*MemberAffiliation) IsOutcast() bool
- func (*MemberAffiliation) IsOwner() bool
- func (*MemberAffiliation) Name() string
- type ModeratorRole
- func (*ModeratorRole) AsModerator() Role
- func (*ModeratorRole) HasVoice() bool
- func (*ModeratorRole) IsDifferentFrom(r Role) bool
- func (*ModeratorRole) IsModerator() bool
- func (*ModeratorRole) IsNone() bool
- func (*ModeratorRole) IsParticipant() bool
- func (*ModeratorRole) IsVisitor() bool
- func (*ModeratorRole) Name() string
- func (*ModeratorRole) WithVoice() Role
- type NoneAffiliation
- func (*NoneAffiliation) IsAdmin() bool
- func (*NoneAffiliation) IsBanned() bool
- func (*NoneAffiliation) IsDifferentFrom(a Affiliation) bool
- func (*NoneAffiliation) IsLowerThan(a Affiliation) bool
- func (*NoneAffiliation) IsMember() bool
- func (*NoneAffiliation) IsModerator() bool
- func (*NoneAffiliation) IsNone() bool
- func (*NoneAffiliation) IsOutcast() bool
- func (*NoneAffiliation) IsOwner() bool
- func (*NoneAffiliation) Name() string
- type NoneRole
- func (*NoneRole) AsModerator() Role
- func (*NoneRole) HasVoice() bool
- func (*NoneRole) IsDifferentFrom(r Role) bool
- func (*NoneRole) IsModerator() bool
- func (*NoneRole) IsNone() bool
- func (*NoneRole) IsParticipant() bool
- func (*NoneRole) IsVisitor() bool
- func (*NoneRole) Name() string
- func (*NoneRole) WithVoice() Role
- type OutcastAffiliation
- func (*OutcastAffiliation) IsAdmin() bool
- func (*OutcastAffiliation) IsBanned() bool
- func (*OutcastAffiliation) IsDifferentFrom(a Affiliation) bool
- func (*OutcastAffiliation) IsLowerThan(Affiliation) bool
- func (*OutcastAffiliation) IsMember() bool
- func (*OutcastAffiliation) IsModerator() bool
- func (*OutcastAffiliation) IsNone() bool
- func (*OutcastAffiliation) IsOutcast() bool
- func (*OutcastAffiliation) IsOwner() bool
- func (*OutcastAffiliation) Name() string
- type OwnerAffiliation
- func (*OwnerAffiliation) IsAdmin() bool
- func (*OwnerAffiliation) IsBanned() bool
- func (*OwnerAffiliation) IsDifferentFrom(a Affiliation) bool
- func (*OwnerAffiliation) IsLowerThan(a Affiliation) bool
- func (*OwnerAffiliation) IsMember() bool
- func (*OwnerAffiliation) IsModerator() bool
- func (*OwnerAffiliation) IsNone() bool
- func (*OwnerAffiliation) IsOutcast() bool
- func (*OwnerAffiliation) IsOwner() bool
- func (*OwnerAffiliation) Name() string
- type ParticipantRole
- func (*ParticipantRole) AsModerator() Role
- func (*ParticipantRole) HasVoice() bool
- func (*ParticipantRole) IsDifferentFrom(r Role) bool
- func (*ParticipantRole) IsModerator() bool
- func (*ParticipantRole) IsNone() bool
- func (*ParticipantRole) IsParticipant() bool
- func (*ParticipantRole) IsVisitor() bool
- func (*ParticipantRole) Name() string
- func (*ParticipantRole) WithVoice() Role
- type Role
- type RoleUpdate
- type RoomConfigType
- type RoomDiscoInfo
- type RoomInfo
- type VisitorRole
- func (*VisitorRole) AsModerator() Role
- func (*VisitorRole) HasVoice() bool
- func (*VisitorRole) IsDifferentFrom(r Role) bool
- func (*VisitorRole) IsModerator() bool
- func (*VisitorRole) IsNone() bool
- func (*VisitorRole) IsParticipant() bool
- func (*VisitorRole) IsVisitor() bool
- func (*VisitorRole) Name() string
- func (*VisitorRole) WithVoice() Role
Constants ¶
const ( // AffiliationOwner represents XMPP muc 'owner' affiliation AffiliationOwner = "owner" // AffiliationAdmin represents XMPP muc 'admin' affiliation AffiliationAdmin = "admin" // AffiliationMember represents XMPP muc 'member' affiliation AffiliationMember = "member" // AffiliationOutcast represents XMPP muc 'outcast' affiliation AffiliationOutcast = "outcast" // AffiliationNone represents XMPP muc 'none' affiliation AffiliationNone = "none" )
const ( // RoleNone represents XMPP muc 'none' role RoleNone = "none" // RoleVisitor represents XMPP muc 'visitor' role RoleVisitor = "visitor" // RoleParticipant represents XMPP muc 'participant' role RoleParticipant = "participant" // RoleModerator represents XMPP muc 'moderator' role RoleModerator = "moderator" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Actor ¶
type Actor struct { Nickname string Affiliation Affiliation Role Role }
Actor represents the occupant that updates the role or affiliation
type AdminAffiliation ¶
type AdminAffiliation struct{}
AdminAffiliation is a representation of MUC's "admin" affiliation
func (*AdminAffiliation) IsAdmin ¶
func (*AdminAffiliation) IsAdmin() bool
IsAdmin implements Affiliation interface
func (*AdminAffiliation) IsBanned ¶
func (*AdminAffiliation) IsBanned() bool
IsBanned implements Affiliation interface
func (*AdminAffiliation) IsDifferentFrom ¶
func (*AdminAffiliation) IsDifferentFrom(a Affiliation) bool
IsDifferentFrom implements Affiliation interface
func (*AdminAffiliation) IsLowerThan ¶
func (*AdminAffiliation) IsLowerThan(a Affiliation) bool
IsLowerThan implements Affiliation interface
func (*AdminAffiliation) IsMember ¶
func (*AdminAffiliation) IsMember() bool
IsMember implements Affiliation interface
func (*AdminAffiliation) IsModerator ¶
func (*AdminAffiliation) IsModerator() bool
IsModerator implements Affiliation interface
func (*AdminAffiliation) IsNone ¶
func (*AdminAffiliation) IsNone() bool
IsNone implements Affiliation interface
func (*AdminAffiliation) IsOutcast ¶
func (*AdminAffiliation) IsOutcast() bool
IsOutcast implements Affiliation interface
func (*AdminAffiliation) IsOwner ¶
func (*AdminAffiliation) IsOwner() bool
IsOwner implements Affiliation interface
func (*AdminAffiliation) Name ¶
func (*AdminAffiliation) Name() string
Name implements Affiliation interface
type Affiliation ¶
type Affiliation interface { // IsAdmin will return true if this specific affiliation can modify persistent information IsAdmin() bool // IsBanned will return true if this specific affiliation means that the jid is banned from the room IsBanned() bool // IsMember will return true if this specific affiliation means that the jid is a member of the room IsMember() bool // IsOwner will return true if this specific affiliation means that the jid is an owner of the room IsOwner() bool // IsNone will return true if if the jid doesn't have affiliation IsNone() bool // Name returns the string name of the affiliation type Name() string // IsLowerThan returns true if the caller affiliation has a lower hierarchy than the affiliation passed as argument IsLowerThan(Affiliation) bool // IsDifferentFrom returns a boolean value indicating whether the given affiliation is not equal to the current one IsDifferentFrom(Affiliation) bool }
Affiliation represents an affiliation as specificed by section 5.2 in XEP-0045
func AffiliationFromString ¶
func AffiliationFromString(s string) (Affiliation, error)
AffiliationFromString returns an Affiliation from the given string, or an error if the string doesn't match a known affiliation type
type AffiliationRoleUpdate ¶
type AffiliationRoleUpdate struct { Nickname string Reason string NewAffiliation Affiliation PreviousAffiliation Affiliation NewRole Role PreviousRole Role Actor *Actor }
AffiliationRoleUpdate contains information related to a new and previous affiliation and role
type AffiliationUpdate ¶
type AffiliationUpdate struct { Nickname string Reason string New Affiliation Previous Affiliation Actor *Actor }
AffiliationUpdate contains information related to a new and previous affiliation
type DelayedMessage ¶
DelayedMessage contains the information of a delayed message
type DelayedMessages ¶
type DelayedMessages struct {
// contains filtered or unexported fields
}
DelayedMessages contains the delayed messages for specific date
func (*DelayedMessages) GetDate ¶
func (dm *DelayedMessages) GetDate() time.Time
GetDate returns the delayed messages group's date
func (*DelayedMessages) GetMessages ¶
func (dm *DelayedMessages) GetMessages() []*DelayedMessage
GetMessages returns a list of delayed messages
type DiscussionHistory ¶
type DiscussionHistory struct {
// contains filtered or unexported fields
}
DiscussionHistory contains the rooms's discussion history
func NewDiscussionHistory ¶
func NewDiscussionHistory() *DiscussionHistory
NewDiscussionHistory creates a new discussion history instance
func (*DiscussionHistory) AddMessage ¶
func (dh *DiscussionHistory) AddMessage(nickname, message string, timestamp time.Time)
AddMessage add a new delayed message to the history
func (*DiscussionHistory) GetHistory ¶
func (dh *DiscussionHistory) GetHistory() []*DelayedMessages
GetHistory returns the discussion history
type MemberAffiliation ¶
type MemberAffiliation struct{}
MemberAffiliation is a representation of MUC's "member" affiliation
func (*MemberAffiliation) IsAdmin ¶
func (*MemberAffiliation) IsAdmin() bool
IsAdmin implements Affiliation interface
func (*MemberAffiliation) IsBanned ¶
func (*MemberAffiliation) IsBanned() bool
IsBanned implements Affiliation interface
func (*MemberAffiliation) IsDifferentFrom ¶
func (*MemberAffiliation) IsDifferentFrom(a Affiliation) bool
IsDifferentFrom implements Affiliation interface An administrator and an owner are members too For that reason, it validates if the affiliation given is an admin or owner, it should be different to member
func (*MemberAffiliation) IsLowerThan ¶
func (*MemberAffiliation) IsLowerThan(a Affiliation) bool
IsLowerThan implements Affiliation interface
func (*MemberAffiliation) IsMember ¶
func (*MemberAffiliation) IsMember() bool
IsMember implements Affiliation interface
func (*MemberAffiliation) IsModerator ¶
func (*MemberAffiliation) IsModerator() bool
IsModerator implements Affiliation interface
func (*MemberAffiliation) IsNone ¶
func (*MemberAffiliation) IsNone() bool
IsNone implements Affiliation interface
func (*MemberAffiliation) IsOutcast ¶
func (*MemberAffiliation) IsOutcast() bool
IsOutcast implements Affiliation interface
func (*MemberAffiliation) IsOwner ¶
func (*MemberAffiliation) IsOwner() bool
IsOwner implements Affiliation interface
func (*MemberAffiliation) Name ¶
func (*MemberAffiliation) Name() string
Name implements Affiliation interface
type ModeratorRole ¶
type ModeratorRole struct{}
ModeratorRole is a representation of MUC's "moderator" role
func (*ModeratorRole) AsModerator ¶
func (*ModeratorRole) AsModerator() Role
AsModerator implements Role interface
func (*ModeratorRole) HasVoice ¶
func (*ModeratorRole) HasVoice() bool
HasVoice implements Role interface
func (*ModeratorRole) IsDifferentFrom ¶
func (*ModeratorRole) IsDifferentFrom(r Role) bool
IsDifferentFrom implements Role interface
func (*ModeratorRole) IsModerator ¶
func (*ModeratorRole) IsModerator() bool
IsModerator implements Role interface
func (*ModeratorRole) IsParticipant ¶
func (*ModeratorRole) IsParticipant() bool
IsParticipant implements Role interface
func (*ModeratorRole) IsVisitor ¶
func (*ModeratorRole) IsVisitor() bool
IsVisitor implements Role interface
func (*ModeratorRole) WithVoice ¶
func (*ModeratorRole) WithVoice() Role
WithVoice implements Role interface
type NoneAffiliation ¶
type NoneAffiliation struct{}
NoneAffiliation is a representation of MUC's "none" affiliation
func (*NoneAffiliation) IsAdmin ¶
func (*NoneAffiliation) IsAdmin() bool
IsAdmin implements Affiliation interface
func (*NoneAffiliation) IsBanned ¶
func (*NoneAffiliation) IsBanned() bool
IsBanned implements Affiliation interface
func (*NoneAffiliation) IsDifferentFrom ¶
func (*NoneAffiliation) IsDifferentFrom(a Affiliation) bool
IsDifferentFrom implements Affiliation interface
func (*NoneAffiliation) IsLowerThan ¶
func (*NoneAffiliation) IsLowerThan(a Affiliation) bool
IsLowerThan implements Affiliation interface
func (*NoneAffiliation) IsMember ¶
func (*NoneAffiliation) IsMember() bool
IsMember implements Affiliation interface
func (*NoneAffiliation) IsModerator ¶
func (*NoneAffiliation) IsModerator() bool
IsModerator implements Affiliation interface
func (*NoneAffiliation) IsNone ¶
func (*NoneAffiliation) IsNone() bool
IsNone implements Affiliation interface
func (*NoneAffiliation) IsOutcast ¶
func (*NoneAffiliation) IsOutcast() bool
IsOutcast implements Affiliation interface
func (*NoneAffiliation) IsOwner ¶
func (*NoneAffiliation) IsOwner() bool
IsOwner implements Affiliation interface
func (*NoneAffiliation) Name ¶
func (*NoneAffiliation) Name() string
Name implements Affiliation interface
type NoneRole ¶
type NoneRole struct{}
NoneRole is a representation of MUC's "none" role
func (*NoneRole) AsModerator ¶
AsModerator implements Role interface
func (*NoneRole) IsDifferentFrom ¶
IsDifferentFrom implements Role interface
func (*NoneRole) IsModerator ¶
IsModerator implements Role interface
func (*NoneRole) IsParticipant ¶
IsParticipant implements Role interface
type OutcastAffiliation ¶
type OutcastAffiliation struct{}
OutcastAffiliation is a representation of MUC's "banned" affiliation
func (*OutcastAffiliation) IsAdmin ¶
func (*OutcastAffiliation) IsAdmin() bool
IsAdmin implements Affiliation interface
func (*OutcastAffiliation) IsBanned ¶
func (*OutcastAffiliation) IsBanned() bool
IsBanned implements Affiliation interface
func (*OutcastAffiliation) IsDifferentFrom ¶
func (*OutcastAffiliation) IsDifferentFrom(a Affiliation) bool
IsDifferentFrom implements Affiliation interface
func (*OutcastAffiliation) IsLowerThan ¶
func (*OutcastAffiliation) IsLowerThan(Affiliation) bool
IsLowerThan implements Affiliation interface
func (*OutcastAffiliation) IsMember ¶
func (*OutcastAffiliation) IsMember() bool
IsMember implements Affiliation interface
func (*OutcastAffiliation) IsModerator ¶
func (*OutcastAffiliation) IsModerator() bool
IsModerator implements Affiliation interface
func (*OutcastAffiliation) IsNone ¶
func (*OutcastAffiliation) IsNone() bool
IsNone implements Affiliation interface
func (*OutcastAffiliation) IsOutcast ¶
func (*OutcastAffiliation) IsOutcast() bool
IsOutcast implements Affiliation interface
func (*OutcastAffiliation) IsOwner ¶
func (*OutcastAffiliation) IsOwner() bool
IsOwner implements Affiliation interface
func (*OutcastAffiliation) Name ¶
func (*OutcastAffiliation) Name() string
Name implements Affiliation interface
type OwnerAffiliation ¶
type OwnerAffiliation struct{}
OwnerAffiliation is a representation of MUC's "owner" affiliation
func (*OwnerAffiliation) IsAdmin ¶
func (*OwnerAffiliation) IsAdmin() bool
IsAdmin implements Affiliation interface
func (*OwnerAffiliation) IsBanned ¶
func (*OwnerAffiliation) IsBanned() bool
IsBanned implements Affiliation interface
func (*OwnerAffiliation) IsDifferentFrom ¶
func (*OwnerAffiliation) IsDifferentFrom(a Affiliation) bool
IsDifferentFrom implements Affiliation interface
func (*OwnerAffiliation) IsLowerThan ¶
func (*OwnerAffiliation) IsLowerThan(a Affiliation) bool
IsLowerThan implements Affiliation interface
func (*OwnerAffiliation) IsMember ¶
func (*OwnerAffiliation) IsMember() bool
IsMember implements Affiliation interface
func (*OwnerAffiliation) IsModerator ¶
func (*OwnerAffiliation) IsModerator() bool
IsModerator implements Affiliation interface
func (*OwnerAffiliation) IsNone ¶
func (*OwnerAffiliation) IsNone() bool
IsNone implements Affiliation interface
func (*OwnerAffiliation) IsOutcast ¶
func (*OwnerAffiliation) IsOutcast() bool
IsOutcast implements Affiliation interface
func (*OwnerAffiliation) IsOwner ¶
func (*OwnerAffiliation) IsOwner() bool
IsOwner implements Affiliation interface
func (*OwnerAffiliation) Name ¶
func (*OwnerAffiliation) Name() string
Name implements Affiliation interface
type ParticipantRole ¶
type ParticipantRole struct{}
ParticipantRole is a representation of MUC's "participant" role
func (*ParticipantRole) AsModerator ¶
func (*ParticipantRole) AsModerator() Role
AsModerator implements Role interface
func (*ParticipantRole) HasVoice ¶
func (*ParticipantRole) HasVoice() bool
HasVoice implements Role interface
func (*ParticipantRole) IsDifferentFrom ¶
func (*ParticipantRole) IsDifferentFrom(r Role) bool
IsDifferentFrom implements Role interface
func (*ParticipantRole) IsModerator ¶
func (*ParticipantRole) IsModerator() bool
IsModerator implements Role interface
func (*ParticipantRole) IsNone ¶
func (*ParticipantRole) IsNone() bool
IsNone implements Role interface
func (*ParticipantRole) IsParticipant ¶
func (*ParticipantRole) IsParticipant() bool
IsParticipant implements Role interface
func (*ParticipantRole) IsVisitor ¶
func (*ParticipantRole) IsVisitor() bool
IsVisitor implements Role interface
func (*ParticipantRole) WithVoice ¶
func (*ParticipantRole) WithVoice() Role
WithVoice implements Role interface
type Role ¶
type Role interface { // HasVoice returns true if the user can speak in this room HasVoice() bool // WithVoice returns the closest role upwards that has voice privilege. For Participants and Moderators, it returns itself, otherwise it returns participant WithVoice() Role // AsModerator returns the closest role upwards that can act as a moderator AsModerator() Role // Name returns the string name of the role type Name() string // IsModerator returns true if the user is a moderator IsModerator() bool // IsParticipant returns true if the user is a participant IsParticipant() bool // IsVisitor returns true if the user has a visitor role IsVisitor() bool // IsNone returns true if the user hasn't a role IsNone() bool // IsDifferentFrom returns a boolean value indicating whether the given role is not the same as the current one IsDifferentFrom(Role) bool }
Role represents the specific role that a user has inside a specific room
func RoleFromString ¶
RoleFromString returns the role object that matches the string given, or an error if the string given doesn't match a known role
type RoleUpdate ¶
RoleUpdate contains information related to a new and previous affiliation
type RoomConfigType ¶
type RoomConfigType int
RoomConfigType is used to represent a room configuration field
const ( // RoomConfigSupportsVoiceRequests represents rooms "SupportsVoiceRequests" config RoomConfigSupportsVoiceRequests RoomConfigType = iota // RoomConfigAllowsRegistration represents rooms "AllowsRegistration" config RoomConfigAllowsRegistration // RoomConfigPersistent represents rooms "Persistent" config RoomConfigPersistent // RoomConfigModerated represents rooms "Moderated" config RoomConfigModerated // RoomConfigOpen represents rooms "Open" config RoomConfigOpen // RoomConfigPasswordProtected represents rooms "PasswordProtected" config RoomConfigPasswordProtected // RoomConfigPublic represents rooms "Public" config RoomConfigPublic // RoomConfigLanguage represents rooms "Language" config RoomConfigLanguage // RoomConfigOccupantsCanChangeSubject represents rooms "OccupantsCanChangeSubject" config RoomConfigOccupantsCanChangeSubject // RoomConfigTitle represents rooms "Title" config RoomConfigTitle // RoomConfigDescription represents rooms "Description" config RoomConfigDescription // RoomConfigMembersCanInvite represents rooms "OccupantsCanInvite" config RoomConfigMembersCanInvite // RoomConfigAllowPrivateMessages represents rooms "AllowPrivateMessages" config RoomConfigAllowPrivateMessages // RoomConfigLogged represents rooms "Logged" config RoomConfigLogged // RoomConfigMaxHistoryFetch represents the maximum number of history messages returned by Room RoomConfigMaxHistoryFetch )
type RoomDiscoInfo ¶
type RoomDiscoInfo struct { SupportsVoiceRequests bool AllowsRegistration bool AnonymityLevel string Persistent bool Moderated bool Open bool PasswordProtected bool Public bool Language string OccupantsCanChangeSubject bool Logged bool // Notice that this will not always be correct for all servers Title string Description string Occupants int MembersCanInvite bool OccupantsCanInvite bool AllowPrivateMessages string // This can be 'anyone', 'participants', 'moderators', 'none' ContactJid string MaxHistoryFetch int }
RoomDiscoInfo represents the room discovery information values
type RoomInfo ¶
type RoomInfo struct { // muc#maxhistoryfetch // Maximum Number of History Messages Returned by Room MaxHistoryFetch int // muc#roominfo_contactjid // Contact Addresses (normally, room owner or owners) ContactJid string // muc#roominfo_description // Short Description of Room Description string //muc#roominfo_lang // Natural Language for Room Discussions Language string // muc#roominfo_ldapgroup // An associated LDAP group that defines room membership; this should be an LDAP // Distinguished Name according to an implementation-specific or // deployment-specific definition of a group. LdapGroup string // muc#roominfo_logs // URL for Archived Discussion Logs Logs string // muc#roominfo_occupants // Current Number of Occupants in Room Occupants int // muc#roominfo_subject // Current Discussion Topic Topic string // muc#roominfo_subjectmod // The room subject can be modified by participants OccupantsCanChangeSubject bool }
RoomInfo represents the room's information form values (https://xmpp.org/extensions/xep-0045.html#registrar-formtype-roominfo)
type VisitorRole ¶
type VisitorRole struct{}
VisitorRole is a representation of MUC's "visitor" role
func (*VisitorRole) AsModerator ¶
func (*VisitorRole) AsModerator() Role
AsModerator implements Role interface
func (*VisitorRole) HasVoice ¶
func (*VisitorRole) HasVoice() bool
HasVoice implements Role interface
func (*VisitorRole) IsDifferentFrom ¶
func (*VisitorRole) IsDifferentFrom(r Role) bool
IsDifferentFrom implements Role interface
func (*VisitorRole) IsModerator ¶
func (*VisitorRole) IsModerator() bool
IsModerator implements Role interface
func (*VisitorRole) IsParticipant ¶
func (*VisitorRole) IsParticipant() bool
IsParticipant implements Role interface
func (*VisitorRole) IsVisitor ¶
func (*VisitorRole) IsVisitor() bool
IsVisitor implements Role interface
func (*VisitorRole) WithVoice ¶
func (*VisitorRole) WithVoice() Role
WithVoice implements Role interface