Spaces:
Sleeping
Sleeping
| """ | |
| Message sending channel abstract class | |
| """ | |
| from bridge.bridge import Bridge | |
| from bridge.context import Context | |
| from bridge.reply import * | |
| class Channel(object): | |
| NOT_SUPPORT_REPLYTYPE = [ReplyType.VOICE, ReplyType.IMAGE] | |
| def startup(self): | |
| """ | |
| init channel | |
| """ | |
| raise NotImplementedError | |
| def handle_text(self, msg): | |
| """ | |
| process received msg | |
| :param msg: message object | |
| """ | |
| raise NotImplementedError | |
| # 统一的发送函数,每个Channel自行实现,根据reply的type字段发送不同类型的消息 | |
| def send(self, reply: Reply, context: Context): | |
| """ | |
| send message to user | |
| :param msg: message content | |
| :param receiver: receiver channel account | |
| :return: | |
| """ | |
| raise NotImplementedError | |
| def build_reply_content(self, query, context : Context=None) -> Reply: | |
| return Bridge().fetch_reply_content(query, context) | |
| def build_voice_to_text(self, voice_file) -> Reply: | |
| return Bridge().fetch_voice_to_text(voice_file) | |
| def build_text_to_voice(self, text) -> Reply: | |
| return Bridge().fetch_text_to_voice(text) | |