inSession 
  通过 EventProcessingContext 获取并进入 ContinuousSessionContext 的作用域中, 可以在存在 EventProcessingContext 时搭配使用:
suspend fun EventProcessingContext.onEvent(event: FooMessageEvent) {
    inSession { // this: ContinuousSessionContext
        event.reply("喵~")
        val nextMessage = event.nextMessage(FooMessageEvent)
        // ...
    }
}Content copied to clipboard
或
suspend fun onEvent(context: EventProcessingContext, event: FooMessageEvent) {
    context.inSession { // this: ContinuousSessionContext
        event.reply("喵~")
        val nextMessage = event.nextMessage(FooMessageEvent)
        // ...
    }
}Content copied to clipboard
超时
如果想要控制整个作用域下的整体超时时间,可以直接通过 withTimeout 来包裹作用域:
withTimeout(...) {
   inSession { // this: ContinuousSessionContext
      // ...
   }
}Content copied to clipboard
值传递
inSession 可以向外传递返回值:
val value: Int = inSession {
    // ...
    114
}Content copied to clipboard