MiraiForum

    • Register
    • Login
    • Search
    • Popular
    • Recent
    • Unsolved
    • Tags
    • Groups
    • 友情链接

    Unsolved 【求助】突然无法监听到事件

    使用交流
    2
    9
    159
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      N70_ last edited by N70_

      事件监听代码如下:

      override fun onEnable() {
          val channel = GlobalEventChannel
          val nudge = channel.filter { it is NudgeEvent }
          val memberJoin = channle.filter { it is MemberJoinEvent }
          memberJoin.subscribeAlways<MemberJoinEvent> { event ->
              (here is some code)
          }
          nudge.subscribeAlways<NudgeEvent> { event ->
              (here is some code)
          }
      

      当有新成员加入或者有人触发戳一戳时,不执行对应动作,控制台也没有事件触发的提示

      1 Reply Last reply Reply Quote 0
      • Topic has been marked as a question  N N70_ 
      • N
        N70_ last edited by

        下载了其他人做好的戳一戳插件源码编译之后发现同样是无法收到事件

        1 Reply Last reply Reply Quote 0
        • cssxsh
          cssxsh last edited by

          安卓手表协议无法收到戳一戳事件
          请检查是否为改协议

          N 1 Reply Last reply Reply Quote 0
          • N
            N70_ @cssxsh last edited by

            @cssxsh 感谢大佬回复,还想请教一下,安卓手表协议是否还有其他不支持的事件类型?在上面那段代码中,不只是戳戳事件,其他的事件(比如成员入群退群)似乎也无法监听的到

            cssxsh 1 Reply Last reply Reply Quote 0
            • cssxsh
              cssxsh @N70_ last edited by

              @N70_
              你为什么不看看官方文档呢

              N 2 Replies Last reply Reply Quote 0
              • N
                N70_ last edited by

                This post is deleted!
                1 Reply Last reply Reply Quote 0
                • N
                  N70_ @cssxsh last edited by

                  @cssxsh
                  我在文档中找到了这样的描述
                  Android 手机. 所有功能都支持.
                  Android 平板. 注意: 不支持戳一戳事件解析
                  Android 手表.
                  或许还有更详细的描述,我再去翻翻event那部分吧
                  因为有时候我需要切换到机器人登录的QQ号上处理一些事,所以我都是使用安卓手表的协议。但是问题提出的前一天机器人还是可以监听到新成员入群的事件的来着……

                  1 Reply Last reply Reply Quote 0
                  • N
                    N70_ @cssxsh last edited by

                    @cssxsh
                    在BotConfiguration.kt中找到了下面的代码

                        /** 使用协议类型 */
                        public var protocol: MiraiProtocol
                    
                        public enum class MiraiProtocol {
                            /**
                             * Android 手机. 所有功能都支持.
                             */
                            ANDROID_PHONE,
                    
                            /**
                             * Android 平板.
                             *
                             * 注意: 不支持戳一戳事件解析
                             */
                            ANDROID_PAD,
                    
                            /**
                             * Android 手表.
                             */
                            ANDROID_WATCH,
                    
                            /**
                             * iPad - 来自MiraiGo
                             *
                             * @since 2.8
                             */
                            IPAD,
                    
                            /**
                             * MacOS - 来自MiraiGo
                             *
                             * @since 2.8
                             */
                            MACOS,
                    
                        }
                    

                    在MemberJoinEvent找到以下代码

                    /**
                     * 成员已经加入群的事件
                     */
                    public sealed class MemberJoinEvent(
                        public override val member: NormalMember
                    ) : GroupMemberEvent, BotPassiveEvent, Packet,
                        AbstractEvent(), GroupMemberInfoChangeEvent {
                        /**
                         * 被邀请加入群
                         */
                        public data class Invite @MiraiInternalApi constructor(
                            public override val member: NormalMember,
                            /**
                             * 邀请者
                             */
                            public val invitor: NormalMember
                        ) : MemberJoinEvent(member) {
                            public override fun toString(): String = "MemberJoinEvent.Invite(member=${member.id}, invitor=${invitor.id})"
                        }
                    
                        /**
                         * 成员主动加入群
                         */
                        public data class Active @MiraiInternalApi constructor(
                            public override val member: NormalMember
                        ) : MemberJoinEvent(member) {
                            public override fun toString(): String = "MemberJoinEvent.Active(member=${member.id})"
                        }
                    
                        /**
                         * 原群主通过 https://huifu.qq.com/ 恢复原来群主身份并入群,
                         * 此时 [member] 的 [Member.permission] 肯定是 [MemberPermission.OWNER]
                         */
                        public data class Retrieve @MiraiInternalApi constructor(
                            public override val member: NormalMember
                        ) : MemberJoinEvent(member) {
                            override fun toString(): String = "MemberJoinEvent.Retrieve(member=${member.id})"
                        }
                    }
                    

                    没有找到关于协议类型能够/不能收到的事件列表或者事件支持/不支持的协议描述……

                    cssxsh 1 Reply Last reply Reply Quote 0
                    • cssxsh
                      cssxsh @N70_ last edited by

                      @N70_ 那就开issue 问

                      1 Reply Last reply Reply Quote 0
                      • 1 / 1
                      • First post
                        Last post
                      Powered by Mamoe Technologies & NodeBB | 友情链接 | 服务监控 | Contact