1+ const axios = require ( "axios" ) ;
12// 消息收发功能,分为群发和私聊
23
34// 允许的群组(白名单)
45const groups = [
56 '828192817' , // 2022乐程招新群
67 '742958634' , // 测试群
8+ '575626767' // dev
79]
810
911
@@ -68,13 +70,13 @@ const messageGroupConfig = [
6870 } )
6971 }
7072 } ,
71- {
73+ {
7274 keywords : '列表' ,
7375 reply : [
7476 {
7577 type : "text" ,
7678 data : {
77- text : `@并回复以下关键字:\n1. 乐程是什么\n2. 丢骰子\n3. 签到`
79+ text : `@并回复以下关键字:\n1. 乐程是什么\n2. 丢骰子\n3. 签到\n4.天气 `
7880 }
7981 }
8082 ]
@@ -85,7 +87,7 @@ const messageGroupConfig = [
8587 {
8688 type : "text" ,
8789 data : {
88- text : `@并回复以下关键字:\n1. 乐程是什么\n2. 丢骰子\n3. 签到`
90+ text : `@并回复以下关键字:\n1. 乐程是什么\n2. 丢骰子\n3. 签到\n4.天气 `
8991 }
9092 }
9193 ] ,
@@ -94,18 +96,56 @@ const messageGroupConfig = [
9496 // 这里还要处理一下数据,不然有点问题
9597 bot . sendGroupMsg ( 828192817 , d . message )
9698 } )
97- }
99+ }
100+ } ,
101+ {
102+ keywords : '你是谁' ,
103+ reply : [
104+ {
105+ type : "text" ,
106+ data : {
107+ text : `我是乐程机器人人人人人人人人人人人人人人人人人人人人人人人人人人人人人人人`
108+ }
109+ }
110+ ]
111+ } ,
112+ {
113+ keywords : '天气' ,
114+ reply : [ ] ,
115+ callback : ( data , bot ) => {
116+
117+ return new Promise ( ( resolve , reject ) => {
118+
119+ axios . get ( "http://aider.meizu.com/app/weather/listWeather?cityIds=101270101" ) . then ( res => {
120+ let s = [ ]
121+ let value = res . data . value [ 0 ]
122+
123+ s . push ( value . city + '气温 ' + value . realtime . temp + ' °C' )
124+ value . indexes . forEach ( e => {
125+ if ( e . content !== '' && e . content !== undefined ) {
126+ s . push ( e . content )
127+ }
128+ } )
129+ console . log ( s . join ( '\n\n' ) )
130+ resolve ( s . join ( '\n\n' ) )
131+ } )
132+
133+ } )
134+ }
98135 }
136+
99137]
100138
101139
102140// 处理群发
103141function messageGroupHandler ( data , bot ) {
104- if ( data . message [ 0 ] . type === 'at' && data . atme === true ) { // 先要@自己才能触发
105- if ( groups . includes ( data . group_id . toString ( ) ) ) { // 如果在白名单群组里面
106- for ( let one of messageGroupConfig ) { // 遍历每个配置,观察里面是否有匹配的关键字
107- if ( data . raw_message . trim ( ) . indexOf ( one . keywords ) != - 1 ) { // 匹配成功
108- if ( one . callback ) { // callback回调处理数据后回复
142+ console . log ( data )
143+ console . log ( bot )
144+ if ( data . message [ 0 ] . type === 'at' && data . atme === true ) { // 先要@自己才能触发
145+ if ( groups . includes ( data . group_id . toString ( ) ) ) { // 如果在白名单群组里面
146+ for ( let one of messageGroupConfig ) { // 遍历每个配置,观察里面是否有匹配的关键字
147+ if ( data . raw_message . trim ( ) . indexOf ( one . keywords ) !== - 1 ) { // 匹配成功
148+ if ( one . callback ) { // callback回调处理数据后回复
109149 one . callback ( data , bot ) . then ( ( res ) => {
110150 data . reply ( res )
111151 } )
@@ -121,13 +161,7 @@ function messageGroupHandler(data, bot) {
121161 }
122162}
123163
124- // 处理私发
125- function messagePrivateHandler ( data ) {
126-
127- }
128-
129164module . exports = {
130- messageGroupHandler,
131- messagePrivateHandler
165+ messageGroupHandler
132166}
133167
0 commit comments