实现QQ机器人报警
如题,废话不说,直接上代码。首先是登录QQ的小脚本
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
#!/usr/bin/perluse Webqq::Client;use Data::Dumper;use Digest::MD5 qw(md5_hex);use LWP::UserAgent;use JSON;my $qq = QQ号;my $pwd = md5_hex('QQ密码');my $client = Webqq::Client->new(debug=>0);#等于1开启debug#############验证码##############$client->load("PostImgVerifycode");$client->on_input_img_verifycode() = sub{ my ($img_verifycode_file) = @_; my $smtp = { smtp =>'邮箱smtp服务器', user =>'邮箱user', pass =>'邮箱pass', from =>'邮箱地址', to =>'邮箱地址', from_title => 'QQ机器人', subject => '验证码', }; return &{$client->plugin("PostImgVerifycode")}($client,$img_verifycode_file,$smtp);};######################################登录QQ的时候可能会用到验证码,需要的话会以邮件的形式发送到邮箱,打开邮件里边的链接地址提交即可。$client->login( qq=> $qq, pwd => $pwd);sub tuling{ my $info = $_[0]; my $UA = LWP::UserAgent->new; my $response = $UA->get(" #这里调用的事图灵机器人接口 实现了智能对话功能 用的话 自己去申请下地址 不用可以删掉该功能 my $str = $response->content; my $json = new JSON; my $json_obj = $json->decode("$str"); return $json_obj->{'text'}}$client->on_receive_message = sub{ my $msg = shift; my $group_uin = $msg->{from_uin}; if ($msg->{content} =~ m!(.*)@小傻(.*)!) { #定义@什么内容会触发下边的回复这里定义的是@小傻 可以根据需要做更改 my $msg_content = $1 . $2; my $s_msg_content = tuling("$msg_content"); my $s_msg = $client->create_group_msg(to_uin=>"$group_uin", content=> "$s_msg_content",); $client->send_group_message($s_msg); }};$client->load("Openqq");$client->on_run = sub{ $client->call("Openqq",host=>"0.0.0.0",port=>5000); ##这里是开启api,开启后本地会监听一个端口 通过该端口发送查询等一系列操作};$client->run(); |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
##之后就是调用api发送qq消息的脚本啦 如下#!/usr/bin/perluse strict;use warnings;use LWP::UserAgent;use JSON;use URI::Escape;sub get_gid { my $group_name = $_[0]; my $UA = LWP::UserAgent->new; my $response = $UA->get(" #定义api地址 只需要替换ip my $str = $response->content; my $json = new JSON; my $json_obj = $json->decode("$str"); foreach my $group (@{ $json_obj }){ if ($group->{'ginfo'}->{'name'} eq "$group_name"){ return $group->{'ginfo'}->{'gid'} ; } }}sub send_qq_mess { my $content = $_[0]; my $gid = get_gid($_[1]); my $UA = LWP::UserAgent->new; my $response = $UA->get(" #api地址 #api地址格式为 ip:port/fucation(server端定义的ip 和 port) ###fucation包括以下几个 #信息获取 #/openqq/get_user_info #查询用户信息 #/openqq/get_friend_info #查询好友信息 #/openqq/get_group_info #查询群信息 #/openqq/get_discuss_info #查询讨论组信息 #/openqq/get_recent_info #查询最近联系人列表信息 #消息发送,均支持GET和POST #/openqq/send_message #发送好友消息 参数id=xxx&content=xxx #/openqq/send_group_message #发送群消息 参数gid=xxx&content=xxx #/openqq/send_discuss_message #发送讨论组消息 参数did=xxx&content=xxx (由于腾讯限制,当前无法成功发送) #/openqq/send_sess_message #发送群临时消息 参数 gid=xxx&id=xxx&content=xxx #/openqq/send_sess_message #发送讨论组临时消息 参数 did=xxx&id=xxx&content=xxx return $response->content;}my $c = uri_escape($ARGV[0]);print send_qq_mess($c,"Monitoring_alarm") ; # 这里的Monitoring_alarm是指要发送报警的群名称 必须是QQ所在的群 |
第一个脚本运行的话 加上nohup 否者验证码会丢tmp目录下 不会发邮件 QQ登录成功后 查看是否监听了5000端口(可改),一切ok了 执行第二个脚本 比如说名字是 send ,那么执行格式为send your_send_content 之后你刚才定义的群名称的那个群会收到消息 这个脚本因为有api可以任意调用,本人初学perl , 大神别见笑。
最后感谢Webqq::Client模块的提供者。
实现QQ机器人报警的更多相关文章
- Python3实现QQ机器人自动爬取百度文库的搜索结果并发送给好友(主要是爬虫)
一.效果如下: 二.运行环境: win10系统:python3:PyCharm 三.QQ机器人用的是qqbot模块 用pip安装命令是: pip install qqbot (前提需要有request ...
- zabbix实现QQ邮件报警通知--技术流ken
前言 前几天搜了下网上使用zabbix邮件报警通知的文章,大多数还是使用mailx的方法,过程配置起来比较冗余繁琐,这几天想着把自己平时用到的qq邮件报警的方法分享出来供大家参考,以此减少不必要的步骤 ...
- 第一讲 从头开始做一个web qq 机器人,第一步获取smart qq二维码
新手教程: 前言:最近在看了一下很久很久以前做的qq机器人失效了,最近也在换工作目前还在职,时间很挺宽裕的.就决定从新搞一个web qq机器人 PC的协议解析出来有点费时间以后再做. 准备工作: 编译 ...
- 基于WebQQ3.0协议写一个QQ机器人
最近公司需要做个qq机器人获取qq好友列表,并且能够自动向选定的qq好友定时发送消息.没有头绪,硬着头皮上 甘甜的心情瞬间变得苦涩了 哇 多捞吆 1.WEBQQ3.0登陆协议 进入WEBQQ, htt ...
- 体验 QQ机器人C# SDK 1.X 特性总结
主要特性 依赖注入 框架本身采用 Autofac 作为依赖注入框架.进行插件开发时,必然会使用到该框架.建议开发者阅读官方文档熟悉其用法.https://autofac.readthedocs.io/ ...
- 使用C# 开始第一个QQ机器人
本示例将会使用”嘤鹉学舌”这个小插件的实现来演示如何使用Newbe.Mahua实现第一个机器人插件. 插件功能 自动将发送者的消息回发给发送人,嘤鹉(Parrot,其实是说嘤嘤嘤怪)学舌. 开发环境要 ...
- zabbix学习系列之QQ消息报警
安装依赖包 环境 Zabbix: 3.2 OS:Centos 安装依赖包 yum install lrzsz chrony gcc gcc-c++ git openssl-devel perl-Ext ...
- python实现qq机器人qqbot
title: python实现qq机器人qqbot tags: python date: 2018-6-1 10:19:00 --- 以下内容为转载 一.介绍 qqbot 是一个用 python 实现 ...
- NoneBot+酷Q,打造QQ机器人
NoneBot 是一个基于 酷Q 的 Python 异步 QQ 机器人框架,它会对 QQ 机器人收到的消息进行解析和处理,并以插件化的形式,分发给消息所对应的命令处理器和自然语言处理器,来完成具体的功 ...
随机推荐
- POJ 3744 【矩阵快速幂优化 概率DP】
搞懂了什么是矩阵快速幂优化.... 这道题的重点不是DP. /* 题意: 小明要走某条路,按照个人兴致,向前走一步的概率是p,向前跳两步的概率是1-p,但是地上有地雷,给了地雷的x坐标,(一维),求小 ...
- Solr数据库连接之多表关联
Solr环境配置好后,有很多时候我们需要把数据库里的数据添加到索引里,这时就需要配置跟数据库的连接,下面我们看配置的步骤. 1. 配置 solrconfig.xml (在slor 主目录 core ...
- C程序之修改Windows的控制台颜色(转载)
Windows的CMD可以和Linux下的终端一样可以有五颜六色,目前我在网上找到2种方法可以修改Windows的CMD,当然都是在代码中修改的.在“CMD”->“属性”->“颜色”,这种 ...
- 基于OpenDaylight和Mininet的试验床平台搭建
##########################################平台架构######################################### 一.虚拟机安装和镜像加载 ...
- [codevs5578][咸鱼]tarjan/结论题
5578 咸鱼 时间限制: 1 s 空间限制: 128000 KB 题目描述 Description 在广袤的正方形土地上有n条水平的河流和m条垂直的河流,发达的咸鱼家族在m*n个河流交叉点都 ...
- SDUT 3347 数据结构实验之数组三:快速转置
数据结构实验之数组三:快速转置 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 转置运算是一 ...
- Linux重置系统root密码
linux的root享有至高无上的权力,一旦root密码忘记或者被盗,是一件非常头痛的事情,那么怎么样才能找回root的密码呢,本人把其总结(亲身试验)如下: (一)Linux 系统密码破解 ...
- [设计模式 3] 用设计模式的眼光看MVC框架
导读:之前一直在区分MVC和设计模式的区别,但是,既然有些人认为MVC是一种设计模式,那么它们之间肯定是有共通之处的.所以,本篇博客,就用设计模式的眼光来看MVC框架.仅是本人对于MVC的粗鄙看法,还 ...
- 解决Linq第一次调用存储过程时速度慢的问题
最近做项目,发现linq调用存储过程,第一次时会速度慢,但之后速度都很快,过一阵子又会慢一下,以实际的操作为例子: using (FruitDbDataContext dbo = new FruitD ...
- tech
流式计算框架storm.spark.genfire.esper(CEP)