You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
- """
- channel factory
- """
- from common import const
- from .channel import Channel
-
-
- def create_channel(channel_type) -> Channel:
- """
- create a channel instance
- :param channel_type: channel type code
- :return: channel instance
- """
- ch = Channel()
- if channel_type == "wx":
- from channel.wechat.wechat_channel import WechatChannel
- ch = WechatChannel()
- elif channel_type == "wxy":
- from channel.wechat.wechaty_channel import WechatyChannel
- ch = WechatyChannel()
- elif channel_type == "terminal":
- from channel.terminal.terminal_channel import TerminalChannel
- ch = TerminalChannel()
- elif channel_type == "wechatmp":
- from channel.wechatmp.wechatmp_channel import WechatMPChannel
- ch = WechatMPChannel(passive_reply=True)
- elif channel_type == "wechatmp_service":
- from channel.wechatmp.wechatmp_channel import WechatMPChannel
- ch = WechatMPChannel(passive_reply=False)
- elif channel_type == "wechatcom_app":
- from channel.wechatcom.wechatcomapp_channel import WechatComAppChannel
- ch = WechatComAppChannel()
- elif channel_type == "wework":
- from channel.wework.wework_channel import WeworkChannel
- ch = WeworkChannel()
- elif channel_type == const.FEISHU:
- from channel.feishu.feishu_channel import FeiShuChanel
- ch = FeiShuChanel()
- elif channel_type == const.DINGTALK:
- from channel.dingtalk.dingtalk_channel import DingTalkChanel
- ch = DingTalkChanel()
- else:
- raise RuntimeError
- ch.channel_type = channel_type
- return ch
|