Skip to content

SkyNet1748/tencent-guild-protocol

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tencent-guild-protocol

Tencent频道的机器人Kotlin SDK

maven-central

导入依赖

Maven

<dependency>
  <groupId>com.hcyacg</groupId>
  <artifactId>tencent-guild-protocol</artifactId>
  <version>${version}</version>
</dependency>

Gradle Groovy DSL

implementation 'com.hcyacg:tencent-guild-protocol:${version}'

Gradle Kotlin DSL

implementation("com.hcyacg:tencent-guild-protocol:${version}")

如何使用

  1. 首先配置你的botId 和 botToken
fun main(args: Array<String>) {
    val token = "Bot id.token"
    //放入你的Listener
    //默认是获取公域的信息
    BotManager.configuration(token, false).addListen(Test())
    //私域请使用
    BotManager.configuration(token,true).addListen(Test())
}
  1. 实现你的Listener ,这里会附赠给你一个例子 :Test
    //实际上实现一个Listener十分简单,你只需要继承`BotEvent`,然后实现它里面你需要的方法就可以了
class Test : BotEvent() {

    //这里我实现了 私域中 事件的 监听
    override suspend fun onMessageCreate(event: MessageCreateEvent) {

    }
}

3.SDK内置了目前官方已出的功能

//获取子频道消息
BotApi.getChannelInfo(data.channel_id)
//获取频道下的子频道列表
BotApi.getChildChannelInfo(data.guild_id)
//获取单个成员消息
BotApi.getMemberInfo(data.guild_id, data.author.id)
//获取频道信息
BotApi.getGuildById(data.guild_id)
//获取频道身份组列表
BotApi.getRolesByGuild(data.guild_id)
//创建频道身份组
BotApi.createRolesByGuild(data.guild_id, Filter(1, 1, 0), Info("测试", 16757760, 0))
//修改频道身份组
BotApi.changeRolesByGuild(data.guild_id, "", Filter(1, 1, 0), Info("测试", 16758465, 0))
//删除频道身份组
BotApi.deleteRolesByGuild(data.guild_id, "")
//增加频道身份组成员(除子频道管理员
BotApi.createMemberRolesByGuild(data.guild_id, "", "")
//增加频道身份组成员(仅子频道管理员
BotApi.createChildMemberRolesByGuild(data.guild_id, BotApi.getChannelInfo(data.channel_id), "", "")
//删除频道身份组成员(除子频道管理员
BotApi.deleteMemberRolesByGuild(data.guild_id, "", "")
//删除频道身份组成员(仅子频道管理员
BotApi.deleteChildMemberRolesByGuild(data.guild_id, BotApi.getChannelInfo(data.channel_id), "", "")
//修改指定子频道的权限 目前只支持修改查看权限
BotApi.changeChannelPermissions(data.channel_id, "", false)
//创建子频道公告
BotApi.createAnnounces(data.channel_id, data.id)
//删除子频道公告
BotApi.deleteAnnounces(data.channel_id, message_id)
//获得机器人信息
BotApi.getMe()
//获取当前用户频道列表
BotApi.getMeGuildsAfter(data.guild_id, 100)
BotApi.getMeGuildsBefore(data.guild_id, 100)

//获取日程列表
BotApi.getScheduleList(日程子频道id)
//创建日程
BotApi.createSchedule(日程子频道id, 日程对象)
//修改日程
BotApi.changeScheduleById(日程子频道id, 日程id, 日程对象)
//根据日程id删除日程
BotApi.deleteScheduleById(日程子频道id, 日程id)
//返回结束时间在时间戳之后的日程列表
BotApi.getScheduleListByTime(日程子频道id, 时间戳)

私域功能

//获取频道成员列表
BotApi.getGuildMemberList(data.guild_id, "0", 1)
//创建子频道
BotApi.createChannel(data.guild_id, ChannelDto("测试", ChannelType.textSubchannel, 排序id, "父类节点"))
//修改子频道信息
BotApi.changeChannelInfo(data.channel_id, ChannelDto("测试", ChannelType.textSubchannel, 排序id, "父类节点"))
//删除子频道
BotApi.deleteChannel(data.channel_id)
//删除指定频道成员
BotApi.deleteMember(data.guild_id, "用户id")
  1. AtMessageCreateEvent 和 MessageCreateEvent 都存在回复功能
//被动
event.replyArk()
event.replyImage()
event.replyEmbed()
event.replyText()
event.replyAudio()
event.replyTextWithImage()
//主动消息
event.replyArkNotId()
event.replyImageNotId()
event.replyEmbedNotId()
event.replyTextNotId()
event.replyTextWithImageNotId()
//禁言
event.mute(120)
event.author.mute(120)

//ark模板例子
event.replyArk(
    MessageArk(
        23, listOf(
            MessageArkKv("#DESC#", "descaaaaaa", null),
            MessageArkKv("#PROMPT#", "promptaaaa", null),
            MessageArkKv(
                "#LIST#", null, listOf(
                    MessageArkObj(listOf(MessageArkObjKv("desc", "你好"))),
                    MessageArkObj(listOf(MessageArkObjKv("desc", "你好"))),
                    MessageArkObj(listOf(MessageArkObjKv("desc", "你好"))),
                    MessageArkObj(listOf(MessageArkObjKv("desc", "你好"))),
                    MessageArkObj(listOf(MessageArkObjKv("desc", "你好")))
                )
            )
        )
    )
)

About

QQ频道的机器人Kotlin SDK

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 100.0%