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.

33 line
926B

  1. """
  2. channel factory
  3. """
  4. def create_channel(channel_type):
  5. """
  6. create a channel instance
  7. :param channel_type: channel type code
  8. :return: channel instance
  9. """
  10. if channel_type == "wx":
  11. from channel.wechat.wechat_channel import WechatChannel
  12. return WechatChannel()
  13. elif channel_type == "wxy":
  14. from channel.wechat.wechaty_channel import WechatyChannel
  15. return WechatyChannel()
  16. elif channel_type == "terminal":
  17. from channel.terminal.terminal_channel import TerminalChannel
  18. return TerminalChannel()
  19. elif channel_type == "wechatmp":
  20. from channel.wechatmp.wechatmp_channel import WechatMPChannel
  21. return WechatMPChannel(passive_reply=True)
  22. elif channel_type == "wechatmp_service":
  23. from channel.wechatmp.wechatmp_channel import WechatMPChannel
  24. return WechatMPChannel(passive_reply=False)
  25. raise RuntimeError