main.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package channel
  2. import (
  3. "errors"
  4. "message-pusher/model"
  5. )
  6. func SendMessage(message *model.Message, user *model.User, channel_ *model.Channel) error {
  7. switch channel_.Type {
  8. case model.TypeEmail:
  9. return SendEmailMessage(message, user, channel_)
  10. case model.TypeWeChatTestAccount:
  11. return SendWeChatTestMessage(message, user, channel_)
  12. case model.TypeWeChatCorpAccount:
  13. return SendWeChatCorpMessage(message, user, channel_)
  14. case model.TypeCorp:
  15. return SendCorpMessage(message, user, channel_)
  16. case model.TypeLark:
  17. return SendLarkMessage(message, user, channel_)
  18. case model.TypeDing:
  19. return SendDingMessage(message, user, channel_)
  20. case model.TypeBark:
  21. return SendBarkMessage(message, user, channel_)
  22. case model.TypeClient:
  23. return SendClientMessage(message, user, channel_)
  24. case model.TypeTelegram:
  25. return SendTelegramMessage(message, user, channel_)
  26. case model.TypeDiscord:
  27. return SendDiscordMessage(message, user, channel_)
  28. case model.TypeNone:
  29. return nil
  30. case model.TypeOneBot:
  31. return SendOneBotMessage(message, user, channel_)
  32. case model.TypeGroup:
  33. return SendGroupMessage(message, user, channel_)
  34. case model.TypeLarkApp:
  35. return SendLarkAppMessage(message, user, channel_)
  36. case model.TypeCustom:
  37. return SendCustomMessage(message, user, channel_)
  38. case model.TypeTencentAlarm:
  39. return SendTencentAlarmMessage(message, user, channel_)
  40. default:
  41. return errors.New("不支持的消息通道:" + channel_.Type)
  42. }
  43. }