最新
- 『新人手册』摸鱼派是个什么样的社区 127.3K
- 【APP】鱼派 APP3.0.0-alpha.1 抢先预览版发布! 16.2K
- 第六千多位的“新人”报到水贴 276
- 游戏推荐 -MilkywayIdle:一个可以摸鱼的放置类小游戏 26
- 半导体 ICer 报道 29
- 激光雷达的复仇 23
- 搓了一个 kotlin/java 版 fishpi 客户端 166
- 下班前逼逼一会,记一下 57
- SpringBoot - 优雅的实现【流控】 90
- 新人报道(小小发点牢骚) 452
- 上班好无聊啊 325
- 兼职经历之少走 40 年弯路 2.6K
- 小小憨豆 2.2K
- scala 越来越像 python 了 2.2K
热议
随时随地摸鱼?
下载摸鱼派客户端,想摸就摸!
下载摸鱼派客户端,想摸就摸!
今日连签排行
在线时间排行
聊天室(?人在线)
发送
-
羊宝~贴贴 ~
-
羊宝~贴贴 ~
-
class OnlineTypeHandler : TypeHandler { override val type: Message.Type = Message.Type.ONLINE override fun handle(text: String, message: Message) { val newOnlineUsers = message.users .mapNotNull { user -> user.userName } .toSet() val oldOnlineUsers = ChatRooms.onlineUsers val map = mutableMapOf<String, Int>() newOnlineUsers.forEach { map[it] = 1 } oldOnlineUsers.forEach { map.merge(it, 2) { old, new -> old + new } } val joinUsers = mutableSetOf<String>() val leaveUsers = mutableSetOf<String>() map.forEach { (userName, count) -> when (count) { 1 -> joinUsers.add(userName) 2 -> leaveUsers.add(userName) } } val hasJoin = joinUsers.isNotEmpty() val hasLeave = leaveUsers.isNotEmpty() if (hasJoin || hasLeave) { var content = "" if (hasJoin) { content += " [+] ${joinUsers.joinToString(", ")}" } if (hasLeave) { content += " [-] ${leaveUsers.joinToString(", ")}" } ChatRooms.systemConsole(message, "用户$content") } ChatRooms.onlineUsers = newOnlineUsers if (ChatRooms.discussing != message.discussing) { ChatRooms.discussing = message.discussing ChatRooms.systemConsole(message, "当前话题: ${message.discussing}") } } }
-
好困啊
-
[收到红包,请在完整版聊天室查看]
-
来3拳 84
标签
问答