最近一直在命令行下工作,除了 Google Chrome,几乎很少接触 GUI 相关的软件。前段时间把手机上的 QQ 给卸载了,希望可以把时间凝聚在更加有价值的位置,今天突然又想起了这个软件,突发奇想,在命令行下玩弄 QQ。我要说话

在知乎和 V2ex 上搜了一番,在 github 上找到了一个还比较满意的开源项目,使用 perl 语言编写的,虽然不动 perl ,但是人家提供了丰富的 API 可以调用,于是就深入了解了下。我要说话

我要说话

Mojo-Webqq 的安装和使用

项目名称叫做 Mojo-Webqq,它应该算是 smartQQ 的客户端非 GUI 框架,前几年玩 Linux 的人可能对 smartQQ 比较了解,就是一个网页上跑的 QQ,不过现在已经更名为 WebQQ 了,玩耍地址:http://web2.qq.com/。我要说话

估计作者也是一个 Linux 玩家,所有的安装指南都是 Linux 上的说明,我用的 mac,也尝试按照 ReadMe 文档安装了下。我要说话

1.首先配置 cpan,直接在命令行输入 cpan 按照提示选择默认配置即可。我要说话

$ cpan

2.然后安装 cpanm 工具我要说话

$ can -i App:coanminus

3.使用 cpanm 在线安装 Mojo:Webqq 模块我要说话

$ cpanm -v Mojo::Webqq

不了解 Perl 语言,也不知道 cpanm 是个什么东西,估计跟 Nodejs 的 npm 是一样的,包管理工具。我要说话

如果期间安装失败,很可能是某个依赖包安装不成功,这个时候多留意下错误提示,然后 google 搜索怎样安装才是正确的姿势。我要说话

使用方式就比较简单了,创建一个实例跑起来:我要说话

#!/usr/bin/env perluse Mojo::Webqq;my ($qq,$host,$port,$post_api);

$qq = 12345678; #修改为你自己的实际QQ号码$host = "0.0.0.0"; #发送消息接口监听地址,修改为自己希望监听的地址$port = 5000; #发送消息接口监听端口,修改为自己希望监听的端口$post_api = 'http://xxxx'; #接收到的消息上报接口,如果不需要接收消息上报,可以删除此行

my $client = Mojo::Webqq->new(qq=>$qq);$client->login();$client->load("ShowMsg");$client->load("Openqq",data=>{listen=>[{host=>$host,port=>$port}], post_api=>$post_api});$client->run();

上述代码保存成 xxxx.pl 文件,然后使用 perl 来运行,就会完成 QQ 登录并在本机产生一个监听指定地址端口的 http server,发送好友消息的接口调用示例:我要说话

curl http://127.0.0.1:5000/openqq/send_message?qq=xxxxx&content=hello

具体可以翻阅 文档说明我要说话

IRC 相关学习

以前玩 Linux 的时候就接触过一些 IRC 的客户端,当时感觉找到了这个世界对程序员开放的窗口,各种技术 Channel,各种交流,很是激动(当然,现在不以为然)。我要说话

Google 找了下网上的推荐,一般都是使用 Weechat 或者 irssi。两个软件的安装都比较麻烦,依赖了很多软件包,不说安装和编译时间,就依赖软件包的下载时间就有半小时。我要说话

先选用的 Weechat ,安装好了之后,死活调不好中文设置,不知道这样是不是正确的:我要说话

/charset decode GB2312

反正我是没搞好,但是学会了 IRC 的基本使用。后面还是改用成 irssi,展示没有 weechat 友好,不过默认支持中文输入。我要说话

IRC 的使用,我觉得也不用太多地去看文档,进入交互命令行之后,键入 /help,系统会把所有的命令都打印出来,然后你感觉应该用哪个就去继续学习就行了,比如连接到一个频道,可以键入我要说话

/help server

或者我要说话

/help connect

这些关键词都是从 /help 中找到的,以 weechat 为例,给出几个设置命令以供入门。我要说话

# 添加一个 server/server add free node chat.freenode.net# 自动链接到 freenode/set irc.server.freenode.autoconnect on# 设置 nicks,username,realname/set irc.server.freenode.nicks “nickname”/set irc.server.freenode.username “username”/set irc.server.freenode.realname “realname”

输入框中键入 /connect freenode 就可连接到 freenode 的服务器,输入 /join #javascript 就可以加入到 #javascript 群组里了。我要说话

# 自动认证 nickname/set irc.server.freenode.command "/msg nickserv identify xxxxxx"# 自动加入群组/set irc.server.freenode.autojoin "#channel1,#channel2"

对鼠标的支持:我要说话

# 启动鼠标支持/moune enable# 打开时就支持/set weechat.look.mouse on

更多文档,可以在 google 中检索下。我要说话

有好多天没有码字了,今天学习的主题是 Mojo-Webqq 和 IRC,就先说这么多,后续会把每天学习和关注的知识点都记录下,方便自己,也方便他人。我要说话

本文链接:http://www.barretlee.com/blog/2016/02/14/mojo-webqq-and-irc/

转载于:https://www.cnblogs.com/dasn/p/5362316.html

转:开启命令行下的社交-webqq脚本相关推荐

  1. kvm--virsh命令行下管理虚拟机

    virsh 既有命令行模式,也有交互模式,在命令行直接输入 virsh 就进入交互模式, virsh 后面跟命令参数,则是命令行模式: (1)基础操作 --- 命令行下管理虚拟机 virsh list ...

  2. linux虚拟机启动网卡命令,命令行下无法联网怎么办,vmware下安装archlinux实现网络连接,实机grub引导启动linux...

    安装archlinux可参考: 百度·贴吧里也有置顶帖给出了官方维基: 由于用的电信宽带需要客户端(大学苦逼,需要客户端),无线网卡也不支持(cmcc和chinanet都需要登陆网页,命令行下无线网连 ...

  3. 命令行下 pdb 调试 Python 程序

    官方参考网站 The Python Debugger : https://docs.python.org/3/library/pdb.html gdb 调试命令的使用及总结:https://blog. ...

  4. linux 命令行下wlan无线网卡配置 2

    linux 命令行下wlan无线网卡配置 [上海央邦]学一送一,超值! 必读版<十一攻破RHCE6.0.OCP>安博亚威]CCIE考试通过率第一! 中国IT实验室收集整理 佚名 2012- ...

  5. Linux 命令行下的好东西

    Linux 命令行下的好东西 本文转载自简书http://www.jianshu.com/p/5ca890e5bdbf 现在做网站做移动应用最讲究的就是推广了,推广做的好那就成功了一大半,相对的没曝光 ...

  6. linux 设置显卡命令,Linux 命令行下如何配置nVIDIA显卡 之三

    安装完成后系统会提示是否使用nvidia-xconfig 命令更新当前配置,此时可以放心使用因为原配置是会自动备份的,选择"yes" 选项继续见图3 . 图3 使用nvidia-x ...

  7. mysql 在cmd命令行下操作遇到的转义字符

    今天在cmd命令行下,用mysqldump来进行备份数据库,遇到了这个一个问题, 先看命令如下,  mysqldump -uyaner -pyaner&123 -h 192.168.0.5 t ...

  8. Linux快捷键-命令行下

    LINUX中命令行下是没有鼠标的,所以所有的操作只能通过键盘来实现.确实,鼠标对于电脑而言感觉还是很重要的,相对与Windows,Linux在易操作性上差的很多.所以,对于我们技术人员来讲,刚开始学习 ...

  9. 命令行下执行带参数php

    命令行下执行带参数php 命令行下执行php,不走apache等通信流程,没有http协议,所有get,post传参数不起作用.按普通应用程序传参数的方法进行. 1.test.php测试文件 查看复制 ...

最新文章

  1. linux基本命令详解の第一季
  2. msyql主从同步实践
  3. seq2seq模型_Pytorch学习记录-Seq2Seq模型对比
  4. ubuntu下面调整Atom的python运行结果中的字体大小
  5. linux分区设置大小,Linux调整磁盘分区大小
  6. tomcat相关实验
  7. ios经验6:提交APP上架流程
  8. 解决Autodesk License Patcher (NLM Crack)重命名电脑名的问题
  9. 单元测试总结反思_语文期中考试总结反思
  10. 2017腾讯校招暑期实习生笔试题3
  11. 机器人的弊议论文_机器人的利弊议论文
  12. STM32使用光敏传感器计算光照度Lux,而不是仅仅打印个电压值或者电阻值
  13. JAVA自定义监听器(通过新线程+while+violate)
  14. 科比投篮预测——可视化与探索性数据分析(二)
  15. 刷脸支付微信支付宝小程序可以营销活动
  16. vc++拾遗(7)-框架、视图、文档
  17. Java基础-可变长参数
  18. 认知计算 Cognitive Computing
  19. java初始化字符串数组_在java中如何定义一个字符串数组
  20. 3.[转]web测试方法总结

热门文章

  1. 二阶广义积分锁相环 SOGI-PLL
  2. 29条激励心智的语录,献给情绪低落的人! 放松一下~!
  3. ophone令人期待的八大热点应用
  4. 打开大的html文件,大师面对win10系统打开html文件的处理教程
  5. modelsim open an existing project
  6. Digest Auth 认证
  7. nook2(simple touch) 恢复原厂(出厂)设置
  8. FastDFS服务器端运行时目录结构讲解
  9. linux指令(个人总结简化版还会更新标准版)
  10. 【模型库】汽车悬挂系统suspension-vd-1.snapshot.5 三维模型