From 03576233ba574cfb3c1eabdb3542a781ef987feb Mon Sep 17 00:00:00 2001 From: "Zhuohuan LI (CARPE DIEM)" Date: Wed, 12 Oct 2016 12:47:31 +0800 Subject: [PATCH] #41 add say to Message --- src/message.ts | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/message.ts b/src/message.ts index 178d0a6d..5c665b6b 100644 --- a/src/message.ts +++ b/src/message.ts @@ -69,6 +69,10 @@ class Message { protected obj = {} + readyStream(): Promise { + throw Error('abstract method') + } + constructor(private rawObj?: MessageRawObj) { Message.counter++ @@ -247,6 +251,33 @@ class Message { Message.TYPE[v] = k // Message.Type[1] = 'TEXT' }) } + + public say(content: string, replyTo?: Contact|Contact[]): Promise { + log.verbose('Message', 'say(%s, %s)', content, replyTo) + + const m = new Message() + m.room(this.room()) + + if (!replyTo) { + m.to(this.from()) + m.content(content) + + } else if (this.room()) { + let mentionList + if (Array.isArray(replyTo)) { + m.to(replyTo[0]) + mentionList = replyTo.map(c => '@' + c.name()).join(' ') + } else { + m.to(replyTo) + mentionList = '@' + replyTo.name() + } + m.content(mentionList + ' ' + content) + + } + return Wechaty.instance() + .send(m) + } + } Message.initType() -- GitLab