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
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