Files
discord.js/src/Structures/PMChannel.js
Manuel Kraus 0e4612d7ab Add client.getMessage() (#428)
* Add client.getMessage

* Add shortcuts

* build it..

* Add missing ~ in note docs

* ............
2016-06-16 07:31:02 +09:00

63 lines
1.5 KiB
JavaScript

"use strict";
import Channel from "./Channel";
import User from "./User";
import Cache from "../Util/Cache";
import {reg} from "../Util/ArgumentRegulariser";
export default class PMChannel extends Channel {
constructor(data, client){
super(data, client);
this.type = data.type || "text";
this.lastMessageID = data.last_message_id || data.lastMessageID;
this.messages = new Cache("id", client.options.maxCachedMessages);
this.recipient = this.client.internal.users.add(new User(data.recipient, this.client));
}
/* warning! may return null */
get lastMessage(){
return this.messages.get("id", this.lastMessageID);
}
toString(){
return this.recipient.toString();
}
sendMessage(){
return this.client.sendMessage.apply(this.client, reg(this, arguments));
}
send() {
return this.client.sendMessage.apply(this.client, reg(this, arguments));
}
sendTTSMessage(){
return this.client.sendTTSMessage.apply(this.client, reg(this, arguments));
}
sendTTS() {
return this.client.sendTTSMessage.apply(this.client, reg(this, arguments));
}
sendFile() {
return this.client.sendFile.apply(this.client, reg(this, arguments));
}
startTyping() {
return this.client.startTyping.apply(this.client, reg(this, arguments));
}
stopTyping() {
return this.client.stopTyping.apply(this.client, reg(this, arguments));
}
getLogs() {
return this.client.getChannelLogs.apply(this.client, reg(this, arguments));
}
getMessage() {
return this.client.getMessage.apply(this.client, reg(this, arguments));
}
}