-
Notifications
You must be signed in to change notification settings - Fork 108
Labels
featNew feature or requestNew feature or request
Description
实现一个 Channel Gateway 用于处理聊天软件的消息发送与接收:
/channel/:platform
实现一个统一化可扩展的channel api
- 用户发送消息,通过
/chat将内容返回到特定的社交平台 - 实现一个接口 (e.g.
/channel/telegram/send) 实现主动发送消息
以下均将telegram作为例子
- PUT
/channel/telegram: 更新telegram配置,这里是比较核心的配置,比如 botToken - PUT
/channel/telegram/config: 这个config每个用户都不一样,比如里面需要有allowed telegram username,一个memoh用户对应一个tg账号 - POST
/channel/telegram/send: 主动发送消息给用户 - ...
除此之外每一个channel服务都应该内部处理接收用户发送并通过 /chat 接口处理
应该设计两个表(仅作参考):
- channel config
- channel_type: 可选telegram等
- config (jsonb): 配置channel,比如telegram的botToken
- user:用户
- global: 是否设置为全局,只有管理员才能设置这个,member可以设置自己的botToken但只能自己用,如果member设置了自己的channel config则使用用户的,否则使用管理员设置为默认的,一个channel只能有一个全局配置
- channel user config
这个就是每个用户在每个channel的设置,各自都不一样,通常用来关联自己的账号
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
featNew feature or requestNew feature or request