Versions in this module Expand all Collapse all v0 v0.1.0 Feb 28, 2019 Changes in this version + func DecodeUserLocalpart(str string) (string, error) + func EncodeUserLocalpart(str string) string + func ExtractUserLocalpart(userID string) (string, error) + type Client struct + AccessToken string + AppServiceUserID string + Client *http.Client + HomeserverURL *url.URL + Prefix string + Store Storer + Syncer Syncer + UserID string + func NewClient(homeserverURL, userID, accessToken string) (*Client, error) + func (cli *Client) BanUser(roomID string, req *ReqBanUser) (resp *RespBanUser, err error) + func (cli *Client) BuildBaseURL(urlPath ...string) string + func (cli *Client) BuildURL(urlPath ...string) string + func (cli *Client) BuildURLWithQuery(urlPath []string, urlQuery map[string]string) string + func (cli *Client) ClearCredentials() + func (cli *Client) CreateFilter(filter json.RawMessage) (resp *RespCreateFilter, err error) + func (cli *Client) CreateRoom(req *ReqCreateRoom) (resp *RespCreateRoom, err error) + func (cli *Client) ForgetRoom(roomID string) (resp *RespForgetRoom, err error) + func (cli *Client) GetAvatarURL() (url string, err error) + func (cli *Client) GetDisplayName(mxid string) (resp *RespUserDisplayName, err error) + func (cli *Client) GetOwnDisplayName() (resp *RespUserDisplayName, err error) + func (cli *Client) InviteUser(roomID string, req *ReqInviteUser) (resp *RespInviteUser, err error) + func (cli *Client) InviteUserByThirdParty(roomID string, req *ReqInvite3PID) (resp *RespInviteUser, err error) + func (cli *Client) JoinRoom(roomIDorAlias, serverName string, content interface{}) (resp *RespJoinRoom, err error) + func (cli *Client) JoinedMembers(roomID string) (resp *RespJoinedMembers, err error) + func (cli *Client) JoinedRooms() (resp *RespJoinedRooms, err error) + func (cli *Client) KickUser(roomID string, req *ReqKickUser) (resp *RespKickUser, err error) + func (cli *Client) LeaveRoom(roomID string) (resp *RespLeaveRoom, err error) + func (cli *Client) Login(req *ReqLogin) (resp *RespLogin, err error) + func (cli *Client) Logout() (resp *RespLogout, err error) + func (cli *Client) MakeRequest(method string, httpURL string, reqBody interface{}, resBody interface{}) ([]byte, error) + func (cli *Client) Messages(roomID, from, to string, dir rune, limit int) (resp *RespMessages, err error) + func (cli *Client) RedactEvent(roomID, eventID string, req *ReqRedact) (resp *RespSendEvent, err error) + func (cli *Client) Register(req *ReqRegister) (*RespRegister, *RespUserInteractive, error) + func (cli *Client) RegisterDummy(req *ReqRegister) (*RespRegister, error) + func (cli *Client) RegisterGuest(req *ReqRegister) (*RespRegister, *RespUserInteractive, error) + func (cli *Client) SendHTML(roomID, msgtype, htmlText string) (*RespSendEvent, error) + func (cli *Client) SendImage(roomID, body, url string) (*RespSendEvent, error) + func (cli *Client) SendMessageEvent(roomID string, eventType string, contentJSON interface{}) (resp *RespSendEvent, err error) + func (cli *Client) SendNotice(roomID, text string) (*RespSendEvent, error) + func (cli *Client) SendStateEvent(roomID, eventType, stateKey string, contentJSON interface{}) (resp *RespSendEvent, err error) + func (cli *Client) SendText(roomID, text string) (*RespSendEvent, error) + func (cli *Client) SendVideo(roomID, body, url string) (*RespSendEvent, error) + func (cli *Client) SetAvatarURL(url string) (err error) + func (cli *Client) SetCredentials(userID, accessToken string) + func (cli *Client) SetDisplayName(displayName string) (err error) + func (cli *Client) StateEvent(roomID, eventType, stateKey string, outContent interface{}) (err error) + func (cli *Client) StopSync() + func (cli *Client) Sync() error + func (cli *Client) SyncRequest(timeout int, since, filterID string, fullState bool, setPresence string) (resp *RespSync, err error) + func (cli *Client) TurnServer() (resp *RespTurnServer, err error) + func (cli *Client) UnbanUser(roomID string, req *ReqUnbanUser) (resp *RespUnbanUser, err error) + func (cli *Client) UploadLink(link string) (*RespMediaUpload, error) + func (cli *Client) UploadToContentRepo(content io.Reader, contentType string, contentLength int64) (*RespMediaUpload, error) + func (cli *Client) UserTyping(roomID string, typing bool, timeout int64) (resp *RespTyping, err error) + func (cli *Client) Versions() (resp *RespVersions, err error) + type DefaultSyncer struct + Store Storer + UserID string + func NewDefaultSyncer(userID string, store Storer) *DefaultSyncer + func (s *DefaultSyncer) GetFilterJSON(userID string) json.RawMessage + func (s *DefaultSyncer) OnEventType(eventType string, callback OnEventListener) + func (s *DefaultSyncer) OnFailedSync(res *RespSync, err error) (time.Duration, error) + func (s *DefaultSyncer) ProcessResponse(res *RespSync, since string) (err error) + type Event struct + Content map[string]interface{} + ID string + Redacts string + RoomID string + Sender string + StateKey *string + Timestamp int64 + Type string + func (event *Event) Body() (body string, ok bool) + func (event *Event) MessageType() (msgtype string, ok bool) + type Filter struct + AccountData FilterPart + EventFields []string + EventFormat string + Presence FilterPart + Room RoomFilter + func DefaultFilter() Filter + func (filter *Filter) Validate() error + type FilterPart struct + ContainsURL *bool + Limit int + NotRooms []string + NotSenders []string + NotTypes []string + Rooms []string + Senders []string + Types []string + func DefaultFilterPart() FilterPart + type HTMLMessage struct + Body string + Format string + FormattedBody string + MsgType string + func GetHTMLMessage(msgtype, htmlText string) HTMLMessage + type HTTPError struct + Code int + Message string + WrappedError error + func (e HTTPError) Error() string + type ImageInfo struct + Height uint + Mimetype string + Size uint + Width uint + type ImageMessage struct + Body string + Info ImageInfo + MsgType string + URL string + type InMemoryStore struct + Filters map[string]string + NextBatch map[string]string + Rooms map[string]*Room + func NewInMemoryStore() *InMemoryStore + func (s *InMemoryStore) LoadFilterID(userID string) string + func (s *InMemoryStore) LoadNextBatch(userID string) string + func (s *InMemoryStore) LoadRoom(roomID string) *Room + func (s *InMemoryStore) SaveFilterID(userID, filterID string) + func (s *InMemoryStore) SaveNextBatch(userID, nextBatchToken string) + func (s *InMemoryStore) SaveRoom(room *Room) + type OnEventListener func(*Event) + type ReqBanUser struct + Reason string + UserID string + type ReqCreateRoom struct + CreationContent map[string]interface{} + InitialState []Event + Invite []string + Invite3PID []ReqInvite3PID + IsDirect bool + Name string + Preset string + RoomAliasName string + Topic string + Visibility string + type ReqInvite3PID struct + Address string + IDServer string + Medium string + type ReqInviteUser struct + UserID string + type ReqKickUser struct + Reason string + UserID string + type ReqLogin struct + Address string + DeviceID string + InitialDeviceDisplayName string + Medium string + Password string + Token string + Type string + User string + type ReqRedact struct + Reason string + type ReqRegister struct + Auth interface{} + BindEmail bool + DeviceID string + InitialDeviceDisplayName string + Password string + Username string + type ReqTyping struct + Timeout int64 + Typing bool + type ReqUnbanUser struct + UserID string + type RespBanUser struct + type RespCreateFilter struct + FilterID string + type RespCreateRoom struct + RoomID string + type RespError struct + Err string + ErrCode string + func (e RespError) Error() string + type RespForgetRoom struct + type RespInviteUser struct + type RespJoinRoom struct + RoomID string + type RespJoinedMembers struct + Joined map[string]struct{ ... } + type RespJoinedRooms struct + JoinedRooms []string + type RespKickUser struct + type RespLeaveRoom struct + type RespLogin struct + AccessToken string + DeviceID string + HomeServer string + UserID string + type RespLogout struct + type RespMediaUpload struct + ContentURI string + type RespMessages struct + Chunk []Event + End string + Start string + type RespRegister struct + AccessToken string + DeviceID string + HomeServer string + RefreshToken string + UserID string + type RespSendEvent struct + EventID string + type RespSync struct + AccountData struct{ ... } + NextBatch string + Presence struct{ ... } + Rooms struct{ ... } + type RespTurnServer struct + Password string + TTL int + URIs []string + Username string + type RespTyping struct + type RespUnbanUser struct + type RespUserDisplayName struct + DisplayName string + type RespUserInteractive struct + Completed []string + ErrCode string + Error string + Flows []struct{ ... } + Params map[string]interface{} + Session string + func (r RespUserInteractive) HasSingleStageFlow(stageName string) bool + type RespVersions struct + Versions []string + type Room struct + ID string + State map[string]map[string]*Event + func NewRoom(roomID string) *Room + func (room Room) GetMembershipState(userID string) string + func (room Room) GetStateEvent(eventType string, stateKey string) *Event + func (room Room) UpdateState(event *Event) + type RoomFilter struct + AccountData FilterPart + Ephemeral FilterPart + IncludeLeave bool + NotRooms []string + Rooms []string + State FilterPart + Timeline FilterPart + type Storer interface + LoadFilterID func(userID string) string + LoadNextBatch func(userID string) string + LoadRoom func(roomID string) *Room + SaveFilterID func(userID, filterID string) + SaveNextBatch func(userID, nextBatchToken string) + SaveRoom func(room *Room) + type Syncer interface + GetFilterJSON func(userID string) json.RawMessage + OnFailedSync func(res *RespSync, err error) (time.Duration, error) + ProcessResponse func(resp *RespSync, since string) error + type TextMessage struct + Body string + MsgType string + type VideoInfo struct + Duration uint + Height uint + Mimetype string + Size uint + ThumbnailInfo ImageInfo + ThumbnailURL string + Width uint + type VideoMessage struct + Body string + Info VideoInfo + MsgType string + URL string v0.1.0-dev1 Feb 28, 2019