MiraiForum

    • 注册
    • 登录
    • 搜索
    • 热门
    • 最新
    • 未解决
    • 标签
    • 群组
    • 友情链接
    1. 主页
    2. lancelot_saber
    L
    • 资料
    • 关注 0
    • 粉丝 0
    • 主题 1
    • 帖子 3
    • 最佳 0
    • 有争议的 0
    • 群组 0

    lancelot_saber

    @lancelot_saber

    0
    声望
    1
    资料浏览
    3
    帖子
    0
    粉丝
    0
    关注
    注册时间 最后登录

    lancelot_saber 取消关注 关注

    lancelot_saber 发布的最新帖子

    • RE: 一个愚蠢的问题,用kotlin写事件监听时对语法的不解:event ->

      @Nambers 看到了!好的,我试试。去掉的话就感觉很符合直觉了!

      发布在 开发交流
      L
      lancelot_saber
    • RE: 一个愚蠢的问题,用kotlin写事件监听时对语法的不解:event ->

      希望可以在这里 https://github.com/mamoe/mirai/blob/dev/docs/Events.md#kotlin
      追加一些kotlin创建事件监听时对取得信息处理的小实例 小白跪谢了。我实际运行后也会追加更新。

      发布在 开发交流
      L
      lancelot_saber
    • 一个愚蠢的问题,用kotlin写事件监听时对语法的不解:event ->

      kotlin小白,希望通过mirai来学习kotlin,但初始就碰上了问题。。。{ event ->
      //这里面可以直接按照普通的java代码写处理流程么?
      //比如

      var m = event.message
      var s = event.subject
      s.sendMessage("Hello from mirai!")

      //这样?可否无视 -> ? 总觉得这里是一个lamda表达式,只能写一行代码的感觉。
      }
      暂时没法测试代码,等到晚上也会实际跑一跑试一试。
      sample代码

          override fun onEnable() {
              logger.info { "Plugin loaded." }
              // `this` 是插件的协程作用域
              // 在插件协程作用域里创建事件监听。当插件被停用时,插件的协程作用域也会被关闭,事件监听就会被同步停止。
              this.globalEventChannel().subscribeAlways<MessageEvent> { event ->
              
              //event.message.contentToString()  这段代码可用么?
                  // 处理事件 
                  Introduction(event.message.contentToString(), event)
                  subject.sendMessage("Hello from mirai!")
              }
      
              fun Introduction(message: String, e: MessageEvent) {
                  var input = message.toLowerCase()
                  if(input.startsWith("test")){
                      e.subject.sendMessage("Received!")
                  }
              }
          }
      
      发布在 开发交流
      L
      lancelot_saber