How to use the matrix-js-sdk.MatrixEvent function in matrix-js-sdk

To help you get started, we’ve selected a few matrix-js-sdk examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github matrix-org / matrix-appservice-bridge / lib / components / intent.js View on Github external
return promise.then(function(eventContent) {
        self.opts.backingStore.setPowerLevelContent(roomId, eventContent);
        var event = {
            content: eventContent,
            room_id: roomId,
            user_id: "",
            event_id: "_",
            state_key: "",
            type: "m.room.power_levels"
        }
        var powerLevelEvent = new MatrixEvent(event);
        // What level do we need for this event type?
        var defaultLevel = event.content.events_default;
        if (STATE_EVENT_TYPES.indexOf(eventType) !== -1) {
            defaultLevel = event.content.state_default;
        }
        var requiredLevel = event.content.events[eventType] || defaultLevel;

        // Parse out what level the client has by abusing the JS SDK
        var roomMember = new RoomMember(roomId, userId);
        roomMember.setPowerLevelEvent(powerLevelEvent);

        if (requiredLevel > roomMember.powerLevel) {
            // can the bot update our power level?
            var bot = new RoomMember(roomId, self.botClient.credentials.userId);
            bot.setPowerLevelEvent(powerLevelEvent);
            var levelRequiredToModifyPowerLevels = event.content.events[
github vector-im / riot-web / src / controllers / organisms / RoomView.js View on Github external
.forEach(function(roomId)
            {
                // XXX: todo: merge overlapping results somehow?
                // XXX: why doesn't searching on name work?
                if (self.state.searchScope === 'All') {
                    ret.push(<li><h1>Room: { cli.getRoom(roomId).name }</h1></li>);
                }

                var resultList = roomIdGroups[roomId].results.map(function(eventId) { return results[eventId]; });
                for (var i = resultList.length - 1; i &gt;= 0; i--) {
                    var ts1 = resultList[i].result.origin_server_ts;
                    ret.push(<li></li>); // Rank: {resultList[i].rank}
                    var mxEv = new Matrix.MatrixEvent(resultList[i].result);
                    if (resultList[i].context.events_before[0]) {
                        var mxEv2 = new Matrix.MatrixEvent(resultList[i].context.events_before[0]);
                        if (EventTile.haveTileForEvent(mxEv2)) {
                            ret.push(<li></li>);
                        }
                    }
                    if (EventTile.haveTileForEvent(mxEv)) {
                        ret.push(<li></li>);
                    }
                    if (resultList[i].context.events_after[0]) {
                        var mxEv2 = new Matrix.MatrixEvent(resultList[i].context.events_after[0]);
                        if (EventTile.haveTileForEvent(mxEv2)) {
                            ret.push(<li></li>);
                        }
                    }
                }
github vector-im / riot-web / src / controllers / organisms / RoomView.js View on Github external
var resultList = roomIdGroups[roomId].results.map(function(eventId) { return results[eventId]; });
                for (var i = resultList.length - 1; i &gt;= 0; i--) {
                    var ts1 = resultList[i].result.origin_server_ts;
                    ret.push(<li></li>); // Rank: {resultList[i].rank}
                    var mxEv = new Matrix.MatrixEvent(resultList[i].result);
                    if (resultList[i].context.events_before[0]) {
                        var mxEv2 = new Matrix.MatrixEvent(resultList[i].context.events_before[0]);
                        if (EventTile.haveTileForEvent(mxEv2)) {
                            ret.push(<li></li>);
                        }
                    }
                    if (EventTile.haveTileForEvent(mxEv)) {
                        ret.push(<li></li>);
                    }
                    if (resultList[i].context.events_after[0]) {
                        var mxEv2 = new Matrix.MatrixEvent(resultList[i].context.events_after[0]);
                        if (EventTile.haveTileForEvent(mxEv2)) {
                            ret.push(<li></li>);
                        }
                    }
                }
            });
            return ret;
github matrix-org / matrix-appservice-bridge / lib / components / intent.js View on Github external
Intent.prototype.sendReadReceipt = function(roomId, eventId) {
    var self = this;
    var event = new MatrixEvent({
        room_id: roomId,
        event_id: eventId,
    });
    return self._ensureJoined(roomId).then(function() {
        return self.client.sendReadReceipt(event);
    });
}
github FabricLabs / fabric / src / components / structures / UserView.js View on Github external
async _loadProfileInfo() {
        const cli = MatrixClientPeg.get();
        this.setState({loading: true});
        let profileInfo;
        try {
            profileInfo = await cli.getProfileInfo(this.props.userId);
        } catch (err) {
            const ErrorDialog = sdk.getComponent('dialogs.ErrorDialog');
            Modal.createTrackedDialog(_t('Could not load user profile'), '', ErrorDialog, {
                title: _t('Could not load user profile'),
                description: ((err && err.message) ? err.message : _t("Operation failed")),
            });
            this.setState({loading: false});
            return;
        }
        const fakeEvent = new Matrix.MatrixEvent({type: "m.room.member", content: profileInfo});
        const member = new Matrix.RoomMember(null, this.props.userId);
        member.setMembershipEvent(fakeEvent);
        this.setState({member, loading: false});
    }
github turt2live / matrix-voyager-bot / src / storage / VoyagerMatrixStore.js View on Github external
_loadUser(userId) {
        var data = this._store.getItem("user_" + userId);
        if (!data) return null;

        var obj = JSON.parse(data);
        var presenceEvent = obj.presence ? new MatrixEvent(obj.presence) : null;
        var displayName = obj.displayName;
        var avatarUrl = obj.avatarUrl;

        var user = new User(userId);
        if (presenceEvent)
            user.setPresenceEvent(presenceEvent);
        if (displayName)
            user.setDisplayName(displayName);
        if (avatarUrl)
            user.setAvatarUrl(avatarUrl);

        this._registerUserListeners(user);

        return user;
    }
github turt2live / matrix-voyager-bot / src / storage / VoyagerMatrixStore.js View on Github external
_loadRoom(roomId) {
        var data = this._store.getItem("room_" + roomId);
        if (!data) return null;

        var obj1 = JSON.parse(data);
        var obj2 = JSON.parse(data);

        var stateEvents = [];
        var oldStateEvents = [];
        for (var eventType in obj1.state.events) {
            var event = obj1.state.events[eventType];
            for (var skey in event) {
                stateEvents.push(new MatrixEvent(obj1.state.events[eventType][skey]));
                oldStateEvents.push(new MatrixEvent(obj2.state.events[eventType][skey]));
            }
        }

        var room = new Room(roomId, {
            storageToken: "voyager"
        });
        room.oldState.setStateEvents(oldStateEvents);
        room.currentState.setStateEvents(stateEvents);

        this._registerRoomListeners(room);

        return room;
    }