room name, refactor
This commit is contained in:
parent
ac45490297
commit
61bd179cec
1 changed files with 33 additions and 6 deletions
39
matrix.js
39
matrix.js
|
@ -65,6 +65,10 @@ class Room {
|
|||
return this._client.getRoom(this.id).currentState;
|
||||
}
|
||||
|
||||
get name() {
|
||||
return this._client.getRoom(this.id).name;
|
||||
}
|
||||
|
||||
send(content) {
|
||||
return this._client.sendMessage(this.id, null, {
|
||||
body: content,
|
||||
|
@ -78,18 +82,18 @@ class Room {
|
|||
join() {
|
||||
return this._client.joinRoom(this.id);
|
||||
}
|
||||
|
||||
setName(name) {
|
||||
return this._client.setRoomName(this.id, name);
|
||||
}
|
||||
}
|
||||
|
||||
class Message {
|
||||
class Event {
|
||||
constructor(client, event) {
|
||||
this._client = client;
|
||||
this._event = event;
|
||||
}
|
||||
|
||||
get content() {
|
||||
return this._event.getContent().body;
|
||||
}
|
||||
|
||||
get id() {
|
||||
return this._event.getId();
|
||||
}
|
||||
|
@ -101,9 +105,18 @@ class Message {
|
|||
get author() {
|
||||
return new Member(this._client, this._event.getSender(), this._event.getRoomId());
|
||||
}
|
||||
}
|
||||
|
||||
class Message extends Event {
|
||||
constructor(client, event) {
|
||||
super(client, event);
|
||||
}
|
||||
|
||||
get content() {
|
||||
return this._event.getContent().body;
|
||||
}
|
||||
|
||||
redact() {
|
||||
console.log("redacting event..");
|
||||
return this._client.redactEvent(this.room.id, this.id);
|
||||
}
|
||||
|
||||
|
@ -113,6 +126,10 @@ class Message {
|
|||
"m.relates_to": { "m.in_reply_to": { event_id: this.id } },
|
||||
});
|
||||
}
|
||||
|
||||
relations() {
|
||||
return this._client.fetchRelations(this.room.id, this.id);
|
||||
}
|
||||
}
|
||||
|
||||
class Bot extends EventEmitter {
|
||||
|
@ -146,6 +163,16 @@ class Bot extends EventEmitter {
|
|||
return this._client.getUserId();
|
||||
}
|
||||
|
||||
getRooms() {
|
||||
return this._client
|
||||
.getRooms()
|
||||
.map(room => new Room(this._client, room.roomId));
|
||||
}
|
||||
|
||||
getRoom(id) {
|
||||
return new Room(this._client, id));
|
||||
}
|
||||
|
||||
async start() {
|
||||
this._client.once("sync", (state) => {
|
||||
if(state === 'PREPARED') {
|
||||
|
|
Loading…
Reference in a new issue