Files
zhamao-framework/assets/js/46.732b1cef.js

1 line
34 KiB
JavaScript
Raw Permalink Normal View History

2024-09-19 08:29:13 +00:00
(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{758:function(t,s,a){"use strict";a.r(s);var n=a(84),e=Object(n.a)({},(function(){var t=this,s=t._self._c;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"机器人事件"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#机器人事件"}},[t._v("#")]),t._v(" 机器人事件")]),t._v(" "),s("aside",[t._v("\n🛰 此页面下的所有注解命名空间为 `ZM\\Annotation\\OneBot`\n")]),t._v(" "),s("blockquote",[s("p",[t._v("在使用注解绑定事件时,如果不存在 "),s("strong",[t._v("必需")]),t._v(" 参数,可一个参数都不写,效果就是此事件在任何情况下都会调用此方法,例如 "),s("code",[t._v("#[BotEvent()]")]),t._v(" 会在收到任意机器人事件时调用。")])]),t._v(" "),s("h2",{attrs:{id:"botaction"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#botaction"}},[t._v("#")]),t._v(" BotAction")]),t._v(" "),s("p",[t._v("BotAction 注解将在 OneBot 12 标准的动作发送前会触发,体现在代码层面就是在使用机器人上下文 "),s("code",[t._v("ctx()->sendAction()")]),t._v(" 方法时会触发。")]),t._v(" "),s("table",[s("thead",[s("tr",[s("th",[t._v("参数名称")]),t._v(" "),s("th",[t._v("允许值")]),t._v(" "),s("th",[t._v("用途")]),t._v(" "),s("th",[t._v("默认")])])]),t._v(" "),s("tbody",[s("tr",[s("td",[t._v("action")]),t._v(" "),s("td",[t._v("string")]),t._v(" "),s("td",[t._v("动作名称")]),t._v(" "),s("td",[t._v("“”")])]),t._v(" "),s("tr",[s("td",[t._v("need_response")]),t._v(" "),s("td",[t._v("string")]),t._v(" "),s("td",[t._v("动作是否需要响应")]),t._v(" "),s("td",[t._v("false")])]),t._v(" "),s("tr",[s("td",[t._v("level")]),t._v(" "),s("td",[t._v("int")]),t._v(" "),s("td",[t._v("事件优先级(越大越先执行)")]),t._v(" "),s("td",[t._v("20")])])])]),t._v(" "),s("p",[t._v("举例一,你可以通过设置一个 BotAction 注解事件,来收集和统计所有机器人发出的消息、执行的动作:")]),t._v(" "),s("div",{staticClass:"language-php line-numbers-mode"},[s("pre",{pre:!0,attrs:{class:"language-php"}},[s("code",[s("span",{pre:!0,attrs:{class:"token attribute"}},[s("span",{pre:!0,attrs:{class:"token delimiter punctuation"}},[t._v("#[")]),s("span",{pre:!0,attrs:{class:"token attribute-content"}},[s("span",{pre:!0,attrs:{class:"token attribute-class-name class-name"}},[t._v("BotAction")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")])]),s("span",{pre:!0,attrs:{class:"token delimiter punctuation"}},[t._v("]")])]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token function-definition function"}},[t._v("onBotAction")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token class-name class-name-fully-qualified type-declaration"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("\\")]),t._v("OneBot"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("\\")]),t._v("V12"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("\\")]),t._v("Object"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("\\")]),t._v("Action")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token variable"}},[t._v("$action")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("logger")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("->")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("info")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string single-quoted-string"}}