@darkwolf/telegram-bot.lazy.cjs
Version:
Telegram Bot API
78 lines (66 loc) • 1.72 kB
JavaScript
class ChatPhoto {
constructor(data = {}, context) {
this
.setContext(context)
.setSmallFileId(data.smallFileId)
.setSmallFileUid(data.smallFileUid)
.setBigFileId(data.bigFileId)
.setBigFileUid(data.bigFileUid)
}
setContext(context = {}) {
this.context = context
return this
}
setSmallFileId(id) {
this.smallFileId = id
return this
}
setSmallFileUid(uid) {
this.smallFileUid = uid
return this
}
setBigFileId(id) {
this.bigFileId = id
return this
}
setBigFileUid(uid) {
this.bigFileUid = uid
return this
}
getSmallFile() {
return this.context.telegramBot.getFile(this.smallFileId)
}
getBigFile() {
return this.context.telegramBot.getFile(this.bigFileId)
}
set(photo) {
return this.context.telegramBot.setChatPhoto(this.context.chatId, photo)
}
delete() {
return this.context.telegramBot.deleteChatPhoto(this.context.chatId)
}
toJSON() {
const data = {}
if (this.smallFileId) {
data.smallFileId = this.smallFileId
}
if (this.smallFileUid) {
data.smallFileUid = this.smallFileUid
}
if (this.bigFileId) {
data.bigFileId = this.bigFileId
}
if (this.bigFileUid) {
data.bigFileUid = this.bigFileUid
}
return data
}
}
ChatPhoto.from = (data, context) => new ChatPhoto(data, context)
ChatPhoto.fromParams = (params = {}, context) => new ChatPhoto({
smallFileId: params.small_file_id,
smallFileUid: params.small_file_unique_id,
bigFileId: params.big_file_id,
bigFileUid: params.big_file_unique_id
}, context)
module.exports = ChatPhoto