Closed yunkuangao closed 1 year ago
All sessions from matrix adapter are seen as channels (not pm). Please provide more information.
The problem to get a real type of room is that room types are handled at client, not home server. We can't know Which type a room is in adapter.
Whether the room type can be determined by the number of people in the room. For example, if the number of people in the room is 2, it will be regarded as a private chat, otherwise it will be a channel.
Such as this issue: https://github.com/matrix-org/matrix-js-sdk/issues/720#issue-357320750
我还是直接发中文吧。
你的问题是 matrix adapter 把所有消息当成了私聊,但是事实上 matrix adapter 的行为上把所有的消息都作为了群聊,不知道你使用的时候遇到了什么问题。
根据人数来决定房间类型这个事情我不是很想做,我觉得所有房间都是群聊很合理,如果你确实有什么需要私聊的情况可以说一下场景,我好考虑一下。
嗯,关于群聊这一点我并没有疑问,我的疑问主要是在使用koishi的时候,返回给我的是私聊模式的内容,具体发生了什么我也不是很清楚,但根据表象来看并没有群聊,以下是判断依据
当前可用的指令有:
kick
bind 绑定到账号 bottle 漂流瓶 callme 修改自己的称呼 chv dvc AI聊天 echo 发送消息 groupname help 显示帮助信息 inspect 查看用户、频道或消息的详细信息 music 点歌 petpet 表情包制作 recipe rryth 人人有图画计划 2.4.3 sad-word 伤感一言 say vits语音合成 shindan 查看神断帮助 skl 来段顺口溜 status 查看运行状态 thursday 随机输出 KFC 疯狂星期四段子 tiangou-word 舔狗日记 timer 定时器信息 translate 文本翻译 usage 调用次数信息 user.locale 语言偏好 wiki MediaWiki 相关功能 删除欢迎词 删除黑历史 删除群成员的黑历史 加入黑历史 添加群发言进入黑历史 天气 成语查询 成语查询+某个成语 查看欢迎词 查看黑历史 查看群成员的黑历史 模仿 模仿自己说一句话 皮一下 生成很皮的话 网易云热评 表情包 设定欢迎词
输入“help 指令名”查看特定指令的语法和使用示例。
当前可用的指令有:
kick
bind 绑定到账号 bottle 漂流瓶 callme 修改自己的称呼 card 21 点卡牌游戏 chv dvc AI聊天 echo 发送消息 groupname help 显示帮助信息 inspect 查看用户、频道或消息的详细信息 lms 最后一人站立游戏 music 点歌 petpet 表情包制作 recipe rryth 人人有图画计划 2.4.3 rss 订阅 RSS 链接 sad-word 伤感一言 say vits语音合成 shindan 查看神断帮助 skl 来段顺口溜 status 查看运行状态 thursday 随机输出 KFC 疯狂星期四段子 tiangou-word 舔狗日记 timer 定时器信息 translate 文本翻译 usage 调用次数信息 user.locale 语言偏好 wiki MediaWiki 相关功能 删除欢迎词 删除黑历史 删除群成员的黑历史 加入黑历史 添加群发言进入黑历史 天气 成语查询 成语查询+某个成语 查看欢迎词 查看黑历史 查看群成员的黑历史 模仿 模仿自己说一句话 皮一下 生成很皮的话 网易云热评 表情包 设定欢迎词
输入“help 指令名”查看特定指令的语法和使用示例。
当前可用的指令有:
kick
bind 绑定到账号 bottle 漂流瓶 callme 修改自己的称呼 chv dvc AI聊天 echo 发送消息 groupname help 显示帮助信息 inspect 查看用户、频道或消息的详细信息 music 点歌 petpet 表情包制作 recipe rryth 人人有图画计划 2.4.3 sad-word 伤感一言 say vits语音合成 shindan 查看神断帮助 skl 来段顺口溜 status 查看运行状态 thursday 随机输出 KFC 疯狂星期四段子 tiangou-word 舔狗日记 timer 定时器信息 translate 文本翻译 usage 调用次数信息 user.locale 语言偏好 wiki MediaWiki 相关功能 删除欢迎词 删除黑历史 删除群成员的黑历史 加入黑历史 添加群发言进入黑历史 天气 成语查询 成语查询+某个成语 查看欢迎词 查看黑历史 查看群成员的黑历史 模仿 模仿自己说一句话 皮一下 生成很皮的话 网易云热评 表情包 设定欢迎词
输入“help 指令名”查看特定指令的语法和使用示例。
平台名:matrix 消息 ID:$RxseczghLEnybnfgOM2XV5RrKz3c4prwjZjgLqv9XR0 频道 ID:!EoueXfHykfDbLHDydz:im.yka.moe 群组 ID: 用户 ID:@yun:im.yka.moe 自身 ID:@bot:im.yka.moe
以上是我这里判断的依据
看了一下,确实有这个问题,原因是有些地方使用了 guildId 来判断当前 session 是否是群聊(例如使用了 ctx.guild()
)
这个地方还需要再考虑一下 guildId 应该填什么比较好。目前是在 room 在 space 里的时候会填入 space 的 room id。但是当 room 不在任何 space 里的时候会导致 guildId 为空。
我现在打算把 guildId 设置为跟 channelId 同样的值,space 和 guild 的概念不应该划等号。一个原因是在 matrix 里 room 可能不在任何 space 里,另一个原因是一个 room 可能在多个 space 里。
关于space,个人认为是一种对现有room的一种特殊管理room,这一点在matrix上也有说明Spaces: The next frontier,而且与现有的逻辑不接洽(public space | private space | personal spaces),可以暂时将space放置。
Describe the bug
In the matrix adapter, the room type is recognized as a private chat in koishi, which makes some plug-ins unusable (such as rss)
Steps to reproduce
Install rss,and talk in room.
Expected behavior
Make the room type can be correctly identified
Screenshots
non-essential
Versions
Additional context
No response