Initial commit

This commit is contained in:
2023-12-17 14:34:22 +08:00
commit 9ce557d592
13 changed files with 735 additions and 0 deletions

View File

@@ -0,0 +1,54 @@
package top.jie65535.mirai
import net.mamoe.mirai.console.command.CommandSender
import net.mamoe.mirai.console.command.CompositeCommand
import net.mamoe.mirai.console.permission.PermissionService.Companion.permit
import net.mamoe.mirai.console.permission.PermitteeId.Companion.permitteeId
import net.mamoe.mirai.contact.Contact
import net.mamoe.mirai.contact.Group
import net.mamoe.mirai.contact.Member
import net.mamoe.mirai.contact.User
import top.jie65535.mirai.JChatGPT.reload
import top.jie65535.mirai.JChatGPT.save
object PluginCommands : CompositeCommand(
JChatGPT, "jgpt", description = "J OpenAI ChatGPT"
) {
@SubCommand
suspend fun CommandSender.setToken(token: String) {
PluginConfig.openAiToken = token
PluginConfig.save()
JChatGPT.updateOpenAiToken(token)
sendMessage("OK")
}
@SubCommand
suspend fun CommandSender.enable(contact: Contact) {
when (contact) {
is Member -> contact.permitteeId.permit(JChatGPT.chatPermission)
is User -> contact.permitteeId.permit(JChatGPT.chatPermission)
is Group -> contact.permitteeId.permit(JChatGPT.chatPermission)
}
sendMessage("OK")
}
@SubCommand
suspend fun CommandSender.disable(contact: Contact) {
when (contact) {
is Member -> contact.permitteeId.permit(JChatGPT.chatPermission)
is User -> contact.permitteeId.permit(JChatGPT.chatPermission)
is Group -> contact.permitteeId.permit(JChatGPT.chatPermission)
}
sendMessage("OK")
}
@SubCommand
suspend fun CommandSender.reload() {
val token = PluginConfig.openAiToken
PluginConfig.reload()
if (token != PluginConfig.openAiToken) {
JChatGPT.updateOpenAiToken(PluginConfig.openAiToken)
}
sendMessage("OK")
}
}