feat: add zibi and unset zibi command, bump rob to 1.8.4
This commit is contained in:
38 files changed
+120
-84
No files matched your search
@@ -1,6 +1,6 @@
|
||||
[versions]
|
||||
kotlinVersion = "2.0.10"
|
||||
ronebotVersion = "1.8.1"
|
||||
ronebotVersion = "1.8.4"
|
||||
shadowVersion = "8.3.0"
|
||||
okhttpVersion = "5.0.0-alpha.14"
|
||||
exposedVersion = "0.53.0"
|
||||
|
||||
@@ -45,14 +45,15 @@ import cn.rtast.fancybot.util.initDatabase
|
||||
import cn.rtast.fancybot.util.item.ItemManager
|
||||
import cn.rtast.fancybot.util.str.fromJson
|
||||
import cn.rtast.rob.ROneBotFactory
|
||||
import cn.rtast.rob.entity.AddFriendRequest
|
||||
import cn.rtast.rob.entity.GetMessage
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.entity.GroupRevokeMessage
|
||||
import cn.rtast.rob.enums.ArrayMessageType
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
|
||||
class FancyBot : OBMessage {
|
||||
class FancyBot : OneBotListener {
|
||||
|
||||
override suspend fun onGroupMessage(message: GroupMessage, json: String) {
|
||||
val sender = message.sender.nickname
|
||||
@@ -130,6 +131,10 @@ class FancyBot : OBMessage {
|
||||
override suspend fun onWebsocketErrorEvent(ex: Exception) {
|
||||
ex.printStackTrace()
|
||||
}
|
||||
|
||||
override suspend fun onAddFriendRequest(event: AddFriendRequest) {
|
||||
event.approve()
|
||||
}
|
||||
}
|
||||
|
||||
val configManager = ConfigManager()
|
||||
@@ -159,7 +164,8 @@ val commands = listOf(
|
||||
CompilerCommand(), GPTCommand(),
|
||||
GithubUserCommand(), AboutCommand(),
|
||||
MusicPlayUrlCommand(), DomainPriceCommand(),
|
||||
SendMailCommand(), ZiBiCommand()
|
||||
SendMailCommand(), ZiBiCommand(),
|
||||
UnsetZiBiCommand()
|
||||
)
|
||||
|
||||
suspend fun main() {
|
||||
|
||||
@@ -10,12 +10,12 @@ package cn.rtast.fancybot.commands
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.util.BaseCommand
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
|
||||
class AboutCommand : BaseCommand() {
|
||||
override val commandNames = listOf("/about", "/关于")
|
||||
|
||||
override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List<String>) {
|
||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||
val msg = MessageChain.Builder()
|
||||
.addAt(message.sender.userId)
|
||||
.addNewLine()
|
||||
|
||||
@@ -7,18 +7,22 @@
|
||||
|
||||
package cn.rtast.fancybot.commands
|
||||
|
||||
import cn.rtast.fancybot.configManager
|
||||
import cn.rtast.rob.entity.ArrayMessage
|
||||
import cn.rtast.rob.entity.GetMessage
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.enums.ArrayMessageType
|
||||
import cn.rtast.rob.util.BaseCommand
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
|
||||
class AntiRevokeCommand : BaseCommand() {
|
||||
override val commandNames = listOf("/revoke", "/rv", "/防撤回")
|
||||
|
||||
override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List<String>) {
|
||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||
if (message.sender.userId !in configManager.admins) {
|
||||
message.reply("你不许用防撤回")
|
||||
}
|
||||
val messageId = args.first().toLong()
|
||||
listener.getMessage(messageId, "revoke", message.groupId)
|
||||
val msg = MessageChain.Builder()
|
||||
@@ -29,7 +33,7 @@ class AntiRevokeCommand : BaseCommand() {
|
||||
}
|
||||
|
||||
companion object {
|
||||
suspend fun callback(listener: OBMessage, message: GetMessage) {
|
||||
suspend fun callback(listener: OneBotListener, message: GetMessage) {
|
||||
val msgList = mutableListOf<ArrayMessage>()
|
||||
msgList.add(
|
||||
ArrayMessage(
|
||||
|
||||
@@ -16,7 +16,7 @@ import cn.rtast.fancybot.util.str.toJson
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.util.BaseCommand
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
|
||||
class CompilerCommand : BaseCommand() {
|
||||
override val commandNames = listOf("/compiler", "/exec")
|
||||
@@ -24,7 +24,7 @@ class CompilerCommand : BaseCommand() {
|
||||
private val kotlinCompilerServer = "https://api.kotlinlang.org/api/2.0.20/compiler/run"
|
||||
private val glotCompilerServer = "https://glot.io/run"
|
||||
|
||||
override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List<String>) {
|
||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||
if (args.isEmpty()) {
|
||||
val msg = MessageChain.Builder()
|
||||
.addAt(message.sender.userId)
|
||||
|
||||
@@ -9,12 +9,12 @@ package cn.rtast.fancybot.commands
|
||||
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.util.BaseCommand
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
|
||||
class EchoCommand : BaseCommand() {
|
||||
override val commandNames = listOf("/echo")
|
||||
|
||||
override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List<String>) {
|
||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||
listener.sendGroupMessage(message.groupId, args.joinToString(" "))
|
||||
}
|
||||
}
|
||||
@@ -12,12 +12,12 @@ import cn.rtast.fancybot.util.Http
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.util.BaseCommand
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
|
||||
class FKXQSCommand : BaseCommand() {
|
||||
override val commandNames = listOf("/fkxqs", "/fk", "/疯狂星期四")
|
||||
|
||||
override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List<String>) {
|
||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||
val response = Http.get<FKXQS>("https://api.shadiao.pro/kfc").data.text
|
||||
val msg = MessageChain.Builder()
|
||||
.addAt(message.sender.userId)
|
||||
|
||||
@@ -11,12 +11,12 @@ import cn.rtast.fancybot.commands
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.util.BaseCommand
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
|
||||
class HelpCommand : BaseCommand() {
|
||||
override val commandNames = listOf("/help", "/帮助")
|
||||
|
||||
override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List<String>) {
|
||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||
val allCommands = commands.joinToString("\n") {
|
||||
"[${it.javaClass.name.split(".").last().replace("Command", "")}] 命令:${it.commandNames.joinToString(",")}"
|
||||
}
|
||||
|
||||
@@ -11,12 +11,12 @@ import cn.rtast.fancybot.util.Http
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.util.BaseCommand
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
|
||||
class HitokotoCommand : BaseCommand() {
|
||||
override val commandNames = listOf("/hitokoto", "/1")
|
||||
|
||||
override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List<String>) {
|
||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||
val response = Http.get("https://v1.jinrishici.com/rensheng/mengxiang.txt")
|
||||
val msg = MessageChain.Builder()
|
||||
.addAt(message.sender.userId)
|
||||
|
||||
@@ -10,12 +10,12 @@ package cn.rtast.fancybot.commands
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.util.BaseCommand
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
|
||||
class LikeMeCommand : BaseCommand() {
|
||||
override val commandNames = listOf("赞我")
|
||||
|
||||
override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List<String>) {
|
||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||
listener.sendLike(message.sender.userId, 10)
|
||||
val msg = MessageChain.Builder()
|
||||
.addReply(message.messageId)
|
||||
|
||||
@@ -11,12 +11,12 @@ import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.enums.ArrayMessageType
|
||||
import cn.rtast.rob.util.BaseCommand
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
|
||||
class RUACommand : BaseCommand() {
|
||||
override val commandNames = listOf("/rua", "rua")
|
||||
|
||||
override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List<String>) {
|
||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||
if (args.isEmpty()) {
|
||||
val msg = MessageChain.Builder()
|
||||
.addAt(message.sender.userId)
|
||||
|
||||
@@ -12,7 +12,7 @@ import cn.rtast.fancybot.util.randomBooleanWithProbability
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.util.BaseCommand
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
|
||||
class RemakeCommand : BaseCommand() {
|
||||
override val commandNames = listOf("/remake", "/重开", "remake", "重开")
|
||||
@@ -28,7 +28,7 @@ class RemakeCommand : BaseCommand() {
|
||||
"鸽子", "鼠鼠", "化石", "狗狗"
|
||||
)
|
||||
|
||||
override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List<String>) {
|
||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||
val isSuccess = randomBooleanWithProbability(0.7)
|
||||
val msg = MessageChain.Builder().addReply(message.messageId)
|
||||
if (isSuccess) {
|
||||
|
||||
@@ -11,7 +11,7 @@ import cn.rtast.fancybot.configManager
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.util.BaseCommand
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
import org.simplejavamail.api.mailer.config.TransportStrategy
|
||||
import org.simplejavamail.email.EmailBuilder
|
||||
import org.simplejavamail.mailer.MailerBuilder
|
||||
@@ -40,7 +40,7 @@ class SendMailCommand : BaseCommand() {
|
||||
this.mailer.sendMail(email)
|
||||
}
|
||||
|
||||
override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List<String>) {
|
||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||
if (args.isEmpty()) {
|
||||
val msg = MessageChain.Builder()
|
||||
.addAt(message.sender.userId)
|
||||
|
||||
@@ -8,21 +8,28 @@
|
||||
package cn.rtast.fancybot.commands
|
||||
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.entity.PrivateMessage
|
||||
import cn.rtast.rob.util.BaseCommand
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
|
||||
val users = mutableMapOf<Long, Long>()
|
||||
|
||||
class ZiBiCommand : BaseCommand() {
|
||||
override val commandNames = listOf("/自闭", "自闭")
|
||||
|
||||
override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List<String>) {
|
||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||
try {
|
||||
users.remove(message.sender.userId)
|
||||
val duration = if (args.isEmpty()) 1 else args.first().toInt()
|
||||
message.sender.ban(duration * 60)
|
||||
val msg = MessageChain.Builder()
|
||||
.addText("你先自闭${duration}分钟吧~")
|
||||
.addNewLine()
|
||||
.addText("私聊发送`我想开了`即可取消禁言~")
|
||||
.build()
|
||||
message.reply(msg)
|
||||
users[message.sender.userId] = message.groupId
|
||||
} catch (_: Exception) {
|
||||
val msg = MessageChain.Builder()
|
||||
.addText("你输入有误所以我决定让你自闭1天~")
|
||||
@@ -32,3 +39,23 @@ class ZiBiCommand : BaseCommand() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class UnsetZiBiCommand : BaseCommand() {
|
||||
override val commandNames = listOf("我想开了")
|
||||
|
||||
override suspend fun executePrivate(listener: OneBotListener, message: PrivateMessage, args: List<String>) {
|
||||
if (!users.any { it.key == message.sender.userId }) {
|
||||
val msg = MessageChain.Builder()
|
||||
.addText("你没有在自闭列表中~")
|
||||
.build()
|
||||
message.reply(msg)
|
||||
return
|
||||
}
|
||||
listener.setGroupBan(users.getValue(message.sender.userId), message.sender.userId, 0)
|
||||
val msg = MessageChain.Builder()
|
||||
.addText("祝你天天开心不要自闭~~")
|
||||
.build()
|
||||
message.reply(msg)
|
||||
users.remove(message.sender.userId)
|
||||
}
|
||||
}
|
||||
@@ -12,12 +12,12 @@ import cn.rtast.fancybot.util.Http
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.util.BaseCommand
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
|
||||
class CigaretteCommand : BaseCommand() {
|
||||
override val commandNames = listOf("/香烟", "/tobacco", "/cigarette")
|
||||
|
||||
override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List<String>) {
|
||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||
if (args.isEmpty()) {
|
||||
val msg = MessageChain.Builder()
|
||||
.addAt(message.sender.userId)
|
||||
|
||||
@@ -16,7 +16,7 @@ import cn.rtast.fancybot.util.toByteArray
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.util.BaseCommand
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
import java.awt.Color
|
||||
import java.awt.Font
|
||||
import java.awt.image.BufferedImage
|
||||
@@ -75,7 +75,7 @@ class DomainPriceCommand : BaseCommand() {
|
||||
}
|
||||
|
||||
|
||||
override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List<String>) {
|
||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||
if (args.isEmpty()) {
|
||||
val msg = MessageChain.Builder()
|
||||
.addAt(message.sender.userId)
|
||||
|
||||
@@ -16,12 +16,12 @@ import cn.rtast.fancybot.util.str.toJson
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.util.BaseCommand
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
|
||||
class GPTCommand : BaseCommand() {
|
||||
override val commandNames = listOf("/gpt")
|
||||
|
||||
override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List<String>) {
|
||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||
if (args.isEmpty()) {
|
||||
val msg = MessageChain.Builder()
|
||||
.addAt(message.sender.userId)
|
||||
|
||||
@@ -18,7 +18,7 @@ import cn.rtast.fancybot.util.toByteArray
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.util.BaseCommand
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
import java.awt.Color
|
||||
import java.awt.Font
|
||||
import java.awt.image.BufferedImage
|
||||
@@ -65,7 +65,7 @@ class GithubUserCommand : BaseCommand() {
|
||||
return canvas.toByteArray().encodeToBase64()
|
||||
}
|
||||
|
||||
override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List<String>) {
|
||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||
if (args.isEmpty()) {
|
||||
val msg = MessageChain.Builder()
|
||||
.addAt(message.sender.userId)
|
||||
|
||||
@@ -13,14 +13,14 @@ import cn.rtast.motdpinger.MotdPinger
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.util.BaseCommand
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
|
||||
class MCPingCommand : BaseCommand() {
|
||||
override val commandNames = listOf("/mcping", "/mcPing")
|
||||
|
||||
private val pingInstance = MotdPinger()
|
||||
|
||||
override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List<String>) {
|
||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||
if (args.isEmpty()) {
|
||||
val msg = MessageChain.Builder()
|
||||
.addAt(message.sender.userId)
|
||||
|
||||
@@ -16,7 +16,7 @@ import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.enums.MusicShareType
|
||||
import cn.rtast.rob.util.BaseCommand
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
import java.time.Instant
|
||||
|
||||
class MusicCommand : BaseCommand() {
|
||||
@@ -33,7 +33,7 @@ class MusicCommand : BaseCommand() {
|
||||
}
|
||||
}
|
||||
|
||||
private suspend fun legacyMusicCommand(listener: OBMessage, message: GroupMessage, args: List<String>) {
|
||||
private suspend fun legacyMusicCommand(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||
if (args.isEmpty()) {
|
||||
val msg = MessageChain.Builder()
|
||||
.addAt(message.sender.userId)
|
||||
@@ -104,7 +104,7 @@ class MusicCommand : BaseCommand() {
|
||||
}
|
||||
}
|
||||
|
||||
override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List<String>) {
|
||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||
if (args.last() == "legacy" || args.last() == "l" || args.last() in "0".."4") {
|
||||
this.legacyMusicCommand(listener, message, args)
|
||||
return
|
||||
@@ -136,7 +136,7 @@ class MusicPlayUrlCommand : BaseCommand() {
|
||||
return Http.get<SongUrl>("${configManager.ncmAPI}/song/url", mapOf("id" to id)).data.first().url
|
||||
}
|
||||
|
||||
override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List<String>) {
|
||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||
val url = if (args.last() == "id" || args.last() == "i") {
|
||||
val id = args.first()
|
||||
this.getPlayUrl(id)
|
||||
|
||||
@@ -10,13 +10,13 @@ package cn.rtast.fancybot.commands.lookup
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.util.BaseCommand
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
import java.net.InetAddress
|
||||
|
||||
class NslookupCommand : BaseCommand() {
|
||||
override val commandNames = listOf("/nslookup", "/ns")
|
||||
|
||||
override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List<String>) {
|
||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||
val msg = MessageChain.Builder()
|
||||
.addReply(message.messageId)
|
||||
.addText("域名: ${args.first()}解析后的IP地址为: ")
|
||||
|
||||
@@ -12,7 +12,7 @@ import cn.rtast.fancybot.util.Http
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.util.BaseCommand
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
|
||||
class PixivCommand : BaseCommand() {
|
||||
override val commandNames = listOf("/pixiv", "/p")
|
||||
@@ -20,7 +20,7 @@ class PixivCommand : BaseCommand() {
|
||||
private val pixivRankingURL = "https://proxy.rtast.cn/https/www.pixiv.net/ranking.php?format=json&mode=daily&p=1"
|
||||
private val imageProxyURL = "https://pixiv.nl"
|
||||
|
||||
override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List<String>) {
|
||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||
if (args.isEmpty()) {
|
||||
val msg = MessageChain.Builder()
|
||||
.addAt(message.sender.userId)
|
||||
|
||||
@@ -10,12 +10,12 @@ package cn.rtast.fancybot.commands.lookup
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.util.BaseCommand
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
|
||||
class QRCodeCommand : BaseCommand() {
|
||||
override val commandNames = listOf("/qrcode", "/qr", "/二维码")
|
||||
|
||||
override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List<String>) {
|
||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||
val content = args.joinToString(" ")
|
||||
val msg = MessageChain.Builder()
|
||||
.addAt(message.sender.userId)
|
||||
|
||||
@@ -20,7 +20,7 @@ import cn.rtast.fancybot.util.toByteArray
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.util.BaseCommand
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
import java.awt.Color
|
||||
import java.awt.Font
|
||||
import java.awt.image.BufferedImage
|
||||
@@ -56,7 +56,7 @@ class WeatherCommand : BaseCommand() {
|
||||
return emptyImage.toByteArray().encodeToBase64()
|
||||
}
|
||||
|
||||
override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List<String>) {
|
||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||
if (args.isEmpty()) {
|
||||
val msg = MessageChain.Builder()
|
||||
.addAt(message.sender.userId)
|
||||
|
||||
@@ -20,7 +20,7 @@ import cn.rtast.fancybot.util.str.setTruncat
|
||||
import cn.rtast.fancybot.util.toByteArray
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Request
|
||||
import java.awt.Color
|
||||
@@ -150,7 +150,7 @@ object BVParseCommand {
|
||||
}
|
||||
}
|
||||
|
||||
suspend fun parse(listener: OBMessage, bvid: String, message: GroupMessage) {
|
||||
suspend fun parse(listener: OneBotListener, bvid: String, message: GroupMessage) {
|
||||
val videoInfo = this.getVideoStat(bvid)
|
||||
val viewCount = this.getViewCount(bvid, videoInfo.data.cid)
|
||||
val shortUrl = this.generateShortUrl(bvid, videoInfo.data.aid)
|
||||
|
||||
@@ -19,7 +19,7 @@ import cn.rtast.fancybot.util.str.setTruncat
|
||||
import cn.rtast.fancybot.util.toByteArray
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
import java.awt.Color
|
||||
import java.awt.Font
|
||||
import java.awt.RenderingHints
|
||||
@@ -114,7 +114,7 @@ object GitHubParseCommand {
|
||||
return canvas.toByteArray().encodeToBase64()
|
||||
}
|
||||
|
||||
suspend fun parse(listener: OBMessage, message: GroupMessage) {
|
||||
suspend fun parse(listener: OneBotListener, message: GroupMessage) {
|
||||
val path = message.rawMessage
|
||||
.replace(".git", "")
|
||||
.replace("https://github.com/", "")
|
||||
|
||||
@@ -10,11 +10,11 @@ package cn.rtast.fancybot.commands.parse
|
||||
import cn.rtast.rob.entity.GetMessage
|
||||
import cn.rtast.rob.enums.ArrayMessageType
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
|
||||
object ImageURLCommand {
|
||||
|
||||
suspend fun callback(listener: OBMessage, message: GetMessage) {
|
||||
suspend fun callback(listener: OneBotListener, message: GetMessage) {
|
||||
val msg = MessageChain.Builder()
|
||||
.addReply(message.data.messageId)
|
||||
.addText("哈哈哈哈图片来咯~")
|
||||
|
||||
@@ -11,7 +11,7 @@ import cn.rtast.fancybot.util.str.encodeToBase64
|
||||
import cn.rtast.rob.entity.GetMessage
|
||||
import cn.rtast.rob.enums.ArrayMessageType
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
import com.madgag.gif.fmsware.AnimatedGifEncoder
|
||||
import com.madgag.gif.fmsware.GifDecoder
|
||||
import java.io.ByteArrayOutputStream
|
||||
@@ -37,7 +37,7 @@ object ReverseGIFCommand {
|
||||
return gifBytes.encodeToBase64()
|
||||
}
|
||||
|
||||
suspend fun callback(listener: OBMessage, message: GetMessage) {
|
||||
suspend fun callback(listener: OneBotListener, message: GetMessage) {
|
||||
val gifUrl = if (message.data.message.find { it.type == ArrayMessageType.mface } == null) {
|
||||
message.data.message.find { it.type == ArrayMessageType.image }!!.data.file!!
|
||||
} else {
|
||||
|
||||
@@ -11,14 +11,14 @@ import cn.rtast.fancybot.util.file.JrrpManager
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.util.BaseCommand
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
|
||||
class JrrpCommand : BaseCommand() {
|
||||
override val commandNames = listOf("/jrrp", "/今日人品")
|
||||
|
||||
private val jrrpManager = JrrpManager()
|
||||
|
||||
override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List<String>) {
|
||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||
if (jrrpManager.isJrrped(message.sender.userId)) {
|
||||
val msg = MessageChain.Builder()
|
||||
.addAt(message.sender.userId)
|
||||
|
||||
@@ -13,12 +13,12 @@ import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.enums.UserRole
|
||||
import cn.rtast.rob.util.BaseCommand
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
|
||||
class MyPointCommand : BaseCommand() {
|
||||
override val commandNames = listOf("/我的点数", "/mp")
|
||||
|
||||
override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List<String>) {
|
||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||
// query target's point
|
||||
if (args.isNotEmpty() && (message.sender.role == UserRole.admin || message.sender.userId in configManager.admins)) {
|
||||
val targetId = args.first().toLong()
|
||||
|
||||
@@ -12,12 +12,12 @@ import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.enums.ArrayMessageType
|
||||
import cn.rtast.rob.util.BaseCommand
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
|
||||
class NiuziSignCommand : BaseCommand() {
|
||||
override val commandNames = listOf("牛子签到")
|
||||
|
||||
override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List<String>) {
|
||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||
if (niuziManager.isSigned(message.sender.userId)) {
|
||||
val msg = MessageChain.Builder()
|
||||
.addAt(message.sender.userId)
|
||||
@@ -40,7 +40,7 @@ class NiuziSignCommand : BaseCommand() {
|
||||
class JiJianCommand : BaseCommand() {
|
||||
override val commandNames = listOf("击剑", "jj")
|
||||
|
||||
override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List<String>) {
|
||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||
if (args.isEmpty()) {
|
||||
val msg = MessageChain.Builder()
|
||||
.addAt(message.sender.userId)
|
||||
@@ -126,7 +126,7 @@ class JiJianCommand : BaseCommand() {
|
||||
class MyNiuziCommand : BaseCommand() {
|
||||
override val commandNames = listOf("我的牛子")
|
||||
|
||||
override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List<String>) {
|
||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||
val niuzi = niuziManager.getUser(message.sender.userId)
|
||||
if (niuzi == null) {
|
||||
val msg = MessageChain.Builder()
|
||||
|
||||
@@ -12,12 +12,12 @@ import cn.rtast.fancybot.signManager
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.util.BaseCommand
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
|
||||
class RedeemCommand : BaseCommand() {
|
||||
override val commandNames = listOf("/redeem", "/兑换", "/rdm")
|
||||
|
||||
override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List<String>) {
|
||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||
if (args.isEmpty()) {
|
||||
val msg = MessageChain.Builder()
|
||||
.addAt(message.sender.userId)
|
||||
|
||||
@@ -11,13 +11,13 @@ import cn.rtast.fancybot.signManager
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.util.BaseCommand
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
|
||||
|
||||
class SignCommand : BaseCommand() {
|
||||
override val commandNames = listOf("/签到", "/sign")
|
||||
|
||||
override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List<String>) {
|
||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||
if (signManager.isSigned(message.sender.userId)) {
|
||||
val msg = MessageChain.Builder()
|
||||
.addAt(message.sender.userId)
|
||||
|
||||
@@ -12,19 +12,18 @@ import cn.rtast.fancybot.util.Http
|
||||
import cn.rtast.fancybot.util.item.Item
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
|
||||
class BaisiItem : Item() {
|
||||
override val itemNames = listOf("baisi", "白丝", "bs")
|
||||
override val itemPrice = 70
|
||||
|
||||
override suspend fun redeemInGroup(listener: OBMessage, message: GroupMessage, after: Long) {
|
||||
override suspend fun redeemInGroup(listener: OneBotListener, message: GroupMessage, after: Long) {
|
||||
val url = Http.get<Baisi>("https://v2.api-m.com/api/baisi").data
|
||||
val msg = MessageChain.Builder()
|
||||
.addAt(message.sender.userId)
|
||||
.addImage(url)
|
||||
.build()
|
||||
listener.sendGroupMessage(message.groupId, msg)
|
||||
|
||||
}
|
||||
}
|
||||
@@ -12,13 +12,13 @@ import cn.rtast.fancybot.util.Http
|
||||
import cn.rtast.fancybot.util.item.Item
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
|
||||
class HeisiItem : Item() {
|
||||
override val itemNames = listOf("heisi", "黑丝", "hs")
|
||||
override val itemPrice = 70
|
||||
|
||||
override suspend fun redeemInGroup(listener: OBMessage, message: GroupMessage, after: Long) {
|
||||
override suspend fun redeemInGroup(listener: OneBotListener, message: GroupMessage, after: Long) {
|
||||
val url = Http.get<Baisi>("https://v2.api-m.com/api/heisi").data
|
||||
val msg = MessageChain.Builder()
|
||||
.addAt(message.sender.userId)
|
||||
|
||||
@@ -12,13 +12,13 @@ import cn.rtast.fancybot.util.Http
|
||||
import cn.rtast.fancybot.util.item.Item
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
|
||||
class SetuItem : Item() {
|
||||
override val itemNames = listOf("setu", "色图", "st")
|
||||
override val itemPrice = 80
|
||||
|
||||
override suspend fun redeemInGroup(listener: OBMessage, message: GroupMessage, after: Long) {
|
||||
override suspend fun redeemInGroup(listener: OneBotListener, message: GroupMessage, after: Long) {
|
||||
val url = Http.get<Setu>("https://api.rtast.cn/api/setu").urls.large
|
||||
val msg = MessageChain.Builder()
|
||||
.addAt(message.sender.userId)
|
||||
|
||||
@@ -9,7 +9,7 @@ package cn.rtast.fancybot.util.file
|
||||
|
||||
import cn.rtast.fancybot.util.JsonFileHandler
|
||||
|
||||
class BadWordManager: JsonFileHandler<List<String>>("bd.json", listOf<String>()) {
|
||||
class BadWordManager : JsonFileHandler<List<String>>("bd.json", listOf<String>()) {
|
||||
|
||||
fun contain(word: String): Boolean {
|
||||
return this.read<List<String>>().any { word.contains(it) }
|
||||
|
||||
@@ -9,21 +9,21 @@ package cn.rtast.fancybot.util.item
|
||||
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.entity.PrivateMessage
|
||||
import cn.rtast.rob.util.ob.OBMessage
|
||||
import cn.rtast.rob.util.ob.OneBotListener
|
||||
|
||||
abstract class Item {
|
||||
abstract val itemNames: List<String>
|
||||
abstract val itemPrice: Int
|
||||
|
||||
protected open suspend fun redeemInGroup(listener: OBMessage, message: GroupMessage, after: Long) {}
|
||||
protected open suspend fun redeemInGroup(listener: OneBotListener, message: GroupMessage, after: Long) {}
|
||||
|
||||
protected open suspend fun redeemInPrivate(listener: OBMessage, message: PrivateMessage, after: Long) {}
|
||||
protected open suspend fun redeemInPrivate(listener: OneBotListener, message: PrivateMessage, after: Long) {}
|
||||
|
||||
suspend fun redeemGroup(listener: OBMessage, message: GroupMessage, after: Long) {
|
||||
suspend fun redeemGroup(listener: OneBotListener, message: GroupMessage, after: Long) {
|
||||
this.redeemInGroup(listener, message, after)
|
||||
}
|
||||
|
||||
suspend fun redeemPrivate(listener: OBMessage, message: PrivateMessage, after: Long) {
|
||||
suspend fun redeemPrivate(listener: OneBotListener, message: PrivateMessage, after: Long) {
|
||||
this.redeemInPrivate(listener, message, after)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user