飞信机器人实现命令式互动(以Linux版本为例)
使用软件:飞信机器人
飞信机器人下载及安装方法详见
修改fetion安装目录下plugins中的plugin_message
?
?? # $1:? fetion_account
?? # $2:? message
?? # Plus Description:
?? # When a new message arrival, the system will call this plug-in:
?? buddy=$1
?? message=$2
?? admin="135xxxxxxxx"? #Only accept instructions sent admin
?? # message A Show disk space
?? if [[ "$message" = "A" && "$buddy" = "$admin" ]] ;then
??????? df -h
??????? sendback="you send command A"
?? # message B show network connections
?? elif [[ "$message" = "B" && "$buddy" = "$admin" ]];then
??????? netstat -an | wc -l
??????? sendback="you send command B"
?? # message C run shell script
?? elif [[ "$message" = "C" && "$buddy" = "$admin" ]];then
??????? /root/sendMsg/1.sh
??????? sendback="you send command C"
?? # message D only send message
?? elif [[ "$message" = "D" && "$buddy" = "$admin" ]];then
??????? sendback="you send command D"
?? # other send not accept
?? elif [ "$buddy" = "$admin" ];then
??????? sendbac="you send command $message。command does not accept"
?? else
??????? sendback="you can not send comman"
?? fi
?? #send message $sendback
?? cmd="sms $buddy $sendback"
?? echo $cmd
?保存退出
下面进行测试
测试帐号:13713718888
密码:123456 (如果密码中含有特殊字符,请使用单引号)
./fetion -u 13713718888 -p 123456 -EN
发送信息给135xxxxxxxx
sms 135xxxxxxxx “show me the command”
如果135xxxxxxxx回复短信,将自动调用插件plugin_message
如果135xxxxxxxx 回复 A 执行查看磁盘空间的命令并回复message
如果135xxxxxxxx 回复 B 执行统计网络连接数并回复message
如果135xxxxxxxx 回复 C 执行一个shell脚本并回复message
如果135xxxxxxxx 回复 D 只回复message
如果135xxxxxxxx 回复 其它 回复错误指令的信息
如果不是135xxxxxxxx 回复的信息即使是正确指令也不予执行
其中A,B,C,D可以任意指定激活执行命令或者脚本的条件,通过短信回复可以使机器人执行命令,脚本,程序,回复信息等任意操作。