Commit 39c32c7c authored by jiahua.liu's avatar jiahua.liu

Bot Permission

parent 0bca1d19
...@@ -179,7 +179,7 @@ internal class QQAndroidBotNetworkHandler(bot: QQAndroidBot) : BotNetworkHandler ...@@ -179,7 +179,7 @@ internal class QQAndroidBotNetworkHandler(bot: QQAndroidBot) : BotNetworkHandler
permission = MemberPermission.OWNER permission = MemberPermission.OWNER
) )
if (it.dwGroupOwnerUin == bot.uin) { if (it.dwGroupOwnerUin == bot.uin) {
group.botPermission == MemberPermission.OWNER group.botPermission = MemberPermission.OWNER
} }
toGet[group] = contactList toGet[group] = contactList
bot.groups.delegate.addLast(group) bot.groups.delegate.addLast(group)
...@@ -189,9 +189,9 @@ internal class QQAndroidBotNetworkHandler(bot: QQAndroidBot) : BotNetworkHandler ...@@ -189,9 +189,9 @@ internal class QQAndroidBotNetworkHandler(bot: QQAndroidBot) : BotNetworkHandler
launch { launch {
try { try {
getTroopMemberList(it.key, it.value, it.key.owner.id) getTroopMemberList(it.key, it.value, it.key.owner.id)
groupInfo[it.key.uin] = it.value.size groupInfo[it.key.id] = it.value.size
} catch (e: Exception) { } catch (e: Exception) {
groupInfo[it.key.uin] = -1 groupInfo[it.key.id] = -1
bot.logger.info("群${it.key.uin}的列表拉取失败, 将采用动态加入") bot.logger.info("群${it.key.uin}的列表拉取失败, 将采用动态加入")
} }
} }
...@@ -206,25 +206,30 @@ internal class QQAndroidBotNetworkHandler(bot: QQAndroidBot) : BotNetworkHandler ...@@ -206,25 +206,30 @@ internal class QQAndroidBotNetworkHandler(bot: QQAndroidBot) : BotNetworkHandler
} }
//===log===// //===log===//
fun fillUntil9(long: Number): String { fun fillUntil(long: Number, size: Int): String {
val x = long.toString() val x = long.toString()
return " ".repeat( return x + " ".repeat(
if (9 - x.length > 0) { if (size - x.length > 0) {
9 - x.length size - x.length
} else { } else {
0 0
} }
) + x )
} }
bot.logger.info("====================Mirai Bot List初始化完毕====================") bot.logger.info("====================Mirai Bot List初始化完毕====================")
bot.logger.info("好友数量: ${fillUntil9(bot.qqs.size)}\t\t\t 加载时间: ${friendLoadFinish - startTime}ms") bot.logger.info("好友数量: ${fillUntil(bot.qqs.size, 9)}\t\t\t 加载时间: ${friendLoadFinish - startTime}ms")
bot.logger.info("加入群组: ${fillUntil9(bot.groups.size)}\t\t\t 加载时间: ${currentTimeMillis - friendLoadFinish}ms") bot.logger.info("加入群组: ${fillUntil(bot.groups.size, 9)}\t\t\t 加载时间: ${currentTimeMillis - friendLoadFinish}ms")
groupInfo.forEach { groupInfo.forEach {
if (it.value == -1) { if (it.value == -1) {
bot.logger.error("群组号码: ${fillUntil9(it.key)}\t 成员数量加载失败") bot.logger.error("群组号码: ${fillUntil(it.key, 9)}\t 成员数量加载失败")
} else { } else {
bot.logger.info("群组号码: ${fillUntil9(it.key)}\t 成员数量: ${it.value}\t BOT权限: " + bot.groups[it.key].botPermission.toString() + "") bot.logger.info(
"群组号码: ${fillUntil(it.key, 9)}\t 成员数量: ${fillUntil(
it.value,
4
)}\t BOT权限: " + bot.groups[it.key].botPermission.toString() + ""
)
} }
} }
bot.logger.info("====================Mirai Bot List初始化完毕====================") bot.logger.info("====================Mirai Bot List初始化完毕====================")
...@@ -252,15 +257,13 @@ internal class QQAndroidBotNetworkHandler(bot: QQAndroidBot) : BotNetworkHandler ...@@ -252,15 +257,13 @@ internal class QQAndroidBotNetworkHandler(bot: QQAndroidBot) : BotNetworkHandler
coroutineContext = group.coroutineContext, coroutineContext = group.coroutineContext,
permission = when { permission = when {
it.memberUin == owner -> MemberPermission.OWNER it.memberUin == owner -> MemberPermission.OWNER
it.dwFlag == 1L -> MemberPermission.ADMINISTRATOR.apply { it.dwFlag == 1L -> MemberPermission.ADMINISTRATOR
if (it.memberUin == bot.uin) {
group.botPermission = MemberPermission.ADMINISTRATOR
}
}
else -> MemberPermission.MEMBER else -> MemberPermission.MEMBER
} }
) )
) )
} else if (it.dwFlag == 1L) {
group.botPermission = MemberPermission.ADMINISTRATOR
} }
} }
size += data.members.size size += data.members.size
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment