命令行下发送飞信到好友爪机
source link: https://oicebot.github.io/2012/02/02/send-sms-in-terminal-via-cliofetion.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
坎德人的小包包
欧剃,游荡的坎德人,在他的旅途中收集了许许多多有趣的东西。
发表日期:2012-02-02 原创
命令行下发送飞信到好友爪机
—— 最近爱上终端命令行界面的软件,搭配SSH + Tmux的远程使用,挂irc啥的完全无压力。但是跟人短信聊天还是免不了要开个图形界面的飞信,太蛋痛了,怎么办?
作者:欧剃
最近爱上终端命令行界面的软件,搭配SSH + Tmux的远程使用,挂irc啥的完全无压力。但是跟人短信聊天还是免不了要开个图形界面的飞信,太蛋痛了,怎么办?
经寻觅,找到了这个玩意。可以搭配Tmux/Screen使用,在命令行下发短信的效果很棒。
cliofetion 是 libofetion 的一个实现,可以支持中国移动的飞信协议,往你的飞信好友的手机上发短信。 目前可以在大多数 POSIX 兼容系统上编译通过,已测试的环境有 Linux,FreeBSD 和 Mac OSX。
- 项目主页: http://code.google.com/p/ofetion 和 http://basiccoder.com/openfetion
- 下载点: http://code.google.com/p/ofetion/downloads/list
最新版本是 cliofetion-standalone-2.2.2.tar.gz,需要libofetion库。
不过,这货每次都需要手动填写登录账户信息和对方发送,太麻烦了,于是手写了一个简单的 python 脚本,调用cliofetion,给人发短信。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# FileName: SendSMS.py
import commands
MOBILENUM = 12345678901 #你的移动电话号码
PASSWD = '******' #你的飞信密码
EMPTYNAME = '张三' #默认发信对象
#filename = SendSMS
NumDict = { 'self':MOBILENUM,
'自己':MOBILENUM,
'张三':77777777777,
'李四':33333333333,
'赵五':22222222222,
'钱咪':11111111111,
'孙凌':22222223123,
#可以按此格式继续添加通讯录
}
QuitFlag = True
while(QuitFlag):
ErrorStatus = True
targetname = ''
targerNumber = ''
print ''
print '--------------CliOpenFetion v2.2.2---------------'
targetname = raw_input(' * 请输入要发信的号码(输入quit退出):')
if targetname == 'quit' or targetname == 'exit':
QuitFlag = False
ErrorStatus = False
elif targetname == 'help':
print ' * 目前通讯录中含有:'
print ' *','、'.join(i for i in NumDict.keys())
ErrorStatus = False
elif targetname == '':
targetname = EMPTYNAME
elif targetname.isdigit():
targetNumber = targetname
if NumDict.values().__contains__(targetname):
for i in NumDict.items():
if i[1] == targetname:
targetname = i[0]
break
else:
ErrorStatus = False
targetNumber = ' <错误的输入,请输入一个手机号码,或可用的昵称。>'
if NumDict.__contains__(targetname):
ErrorStatus = True
targetNumber = NumDict.get(targetname)
if ErrorStatus:
print ' * 发信目标为:%s(%s)' % (targetname,targetNumber)
elif targetname == 'help':
print
#do nothing
elif targetname == 'quit':
print '',
#do nothing
elif targetname == 'exit':
print '',
#do nothing
else:
print targetNumber
if QuitFlag and ErrorStatus:
print ' * 请输入要发送的信息,按回车结束:'
sendMSG = raw_input('\> ')
if len(sendMSG) > 0:
OUTCMD = 'cliofetion -f %s -p %s -t %s -d "%s"' % (MOBILENUM,PASSWD,targetNumber,sendMSG)
print ' * 消息发送中,请稍候……'
SendResult = commands.getstatusoutput(OUTCMD)
if SendResult[0] == 0:
print ' * 已经成功发送至 %s(%s)!' % (targetname,targetNumber) #, SendResult
print
else:
print ' * 出现错误: ' ,SendResult[0]
print '-------------------------------------------------'
print SendResult[1:]
else:
print ' <无信息内容,取消发送……>'
print ' * 关闭程序...'
print '-------------------------------------------------'
本文已发布于纯美苹果园,作者:欧剃。转载请保留此行
标签:Linux
Powered by Jekyll on Github.io
2022 © 欧剃
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK