2010年2月25日星期四

GAE上的开源免费天气预报短信(邮件)定制机器人

主页:http://weatherlib.appspot.com/


功能:
    定时每天向指定邮箱发送天气预报邮件,可借助手机邮箱(
139邮箱联通邮箱189邮箱)实现手机天气预报定制 

特点:    简单,直观,通过Gmail(或者Gtalk)直接发送命令。
    一个Gtalk帐号可定制多个城市的天气预报或多个好友的邮箱
    可自定义每天发送时间
    可发送3天的天气情况
    定时期限无限长(只要gae没倒闭)
    只适合习惯用gmail的人群
 

使用方法:
    用Gmail邀请“机器人”
[email protected],向其发送定时命令即可 

命令说明:所有操作机器人均有提示
    基本格式:
每天发送时间[空格]手机号或邮箱[空格]城市名称,例如:20:00 [email protected] 上海
    或者直接输入手机号,默认会发往手机号对应的139邮箱,如:
20:00 13812345678 上海
    直接输入tq+城市可查询该城市的天气,直接由机器人输出结果,如发送命令:tq上海
其他说明:    1.定时只能精确到5分钟
    2.暂时只能制定10条定时命令,有需要可以联系作者
    3.天气数据来自Google,Google每天
8:0017:00点更新数据,请把提醒时间适当设置在这两个时间点之后
    
4.因预报3天,“天气内容”较长所以放在正文中,请在139邮箱中设置为“长短信”的手机接收方式
    5.输入list查看定时列表,可根据提示进行管理操作
    6.输入account查看当前账户,可根据提示修改邮件发送人昵称
    7.139邮箱地址可以省略为手机号

   8.源码已释出,考虑到可能还有bug,暂时不提供编译好的war包下载,有Java基础的朋友可以自行编译上传

2010年2月18日星期四

Db4o Object Manager中文菜单和数据乱码解决

Db4o是很好的面向对象的数据库,小巧但功能强大,最近研究了一下,发现真的很好用,官方还提供了数据库管理界面ObjectManager,可以用GUI的方式查看或者查询数据,但使用过程中发现 ObjctManager7.4在我的Win7下中文菜单和数据显示乱码,网上搜索了下,好像其他版本也有类似问题,但没有提供解决办法,经过一番研究,终于找到原因,并成功解决:
原因是源程序中设置了界面主题,导致乱码。通过修改源代码,把设置主题的代码注释掉重新编译后,虽然界面不如原先的好看,但中文不乱码看着就舒服多了。
http://code.google.com/p/db4o-om/source/checkout 下载trunk/objectmanager-swing(版本号)的源代码到Eclipse,如果Eclipse报错,一般根据报错提示,到Build Path--Configure Build Path...重新设置所需要的jar文件,一般这些jar文件在下载到的Object Managerlib下面都有。
找到src下面

1. com.db4o.objectManager.v2.Dashboard.java 的configureUI()方法,注释以下代码:
String lafName =
//LookUtils.IS_OS_WINDOWS_XP
//  ? Options.getCrossPlatformLookAndFeelClassName() :
Options.getSystemLookAndFeelClassName();
try {
UIManager.setLookAndFeel(lafName);
} catch (Exception e) {
System.err.println("Can't set look & feel:" + e);
}

找到 buildInterface()方法
把frame.setSize(600, 510);
改成frame.setSize(690, 560);
把打开软件的第一个界面稍微改大一些。

2. com.db4o.objectManager.v2.MainFrame.java configureUI()方法
注释以下代码:
try {
UIManager.setLookAndFeel(selectedLaf);
} catch (Exception e) {
System.out.println("Can't change L&F: " + e);
}

3. com.db4o.objectManager.v2.configuration.ConfigurationDialog configureUI()方法
注释以下代码:
String lafName = Options.getSystemLookAndFeelClassName();
try {
UIManager.setLookAndFeel(lafName);
} catch (Exception e) {
System.err.println("Can't set look & feel:" + e);
}

一共三个Java文件,改好后,重新编译成objectmanager.jar替换掉原来的objectmanager.jar即可。
如果觉得这样做太麻烦,可以下载我已经编译好的jar文件:http://cid-8b61c3bbf29e8e7a.skydrive.live.com/self.aspx/Coding/objectmanager.jar

2010年2月11日星期四

[更新]GoogleVoice短信机器人功能

GAE上的GoogleVoice发短信机器人今天更新了将中文信息自动转换成汉语拼音后再发送到手机的功能,源码编译好的war包 已更新完毕,支持Google最新发布的GAE1.3.1,后面如果没有使用上的BUG,这个项目就告一段落了,应该不会打算做成API了。

2010年2月10日星期三

架设在GAE上的Google Voice发短信机器人

 研究了一下Google Voice,用Java实现了发送短信,可是自主产权的奥,哈哈,部署到Google App Engine上也能用。开发了一个简单的应用:发短信Gtalk机器人,机器人接受指令即可实现向指定的手机号发送短信。不过有点遗憾的是GV还不支持发送中文短信,考虑实现将中文转换为拼音。考虑到Google Voice滥发短信会遭到Google封锁,故没有将这个机器人公布给所有人使用,有需要的,且有GAE Java基础的朋友可以下载源代码自己部署用自己的GV帐号发送短信。公布源代码地址,有兴趣部署且没有条件编译的朋友请下载已经编译好的war包,http://cid-8b61c3bbf29e8e7a.skydrive.live.com/self.aspx/GoogleVoice-smsbot/gv-smsbot-war.zip,具体操作请查看官方文档http://code.google.com/appengine/docs/java/gettingstarted/uploading.html部署前请别忘了改WEB-INF下的web.xml和appengine-web.xml里的相应的设置,如GV帐号密码、限制哪些人能用等。
详情查看官方网址:http://www.websms.org.ru/
感谢黎明破晓提供域名和策划支持!

2010年2月4日星期四

Gmail机器人定时邮件系统(可发送到139邮箱做定时提醒)

黎明破晓 的策划下,忙活了两天,开发了基于Gmail机器人定时邮件系统,可以设置定时发往139邮箱或其他邮箱作为定时提醒(需要开通139邮箱的定时短信提醒)
详细的功能介绍,请看官方网站:http://dingshi.org.ru/

功能:    定时向指定邮箱发送邮件,可借助手机邮箱(139邮箱联通邮箱189邮箱)实现手机短信定时提醒
特点:    简单,直观,不用登陆139邮箱,通过Gmail(或者Gtalk)直接发送命令。
    定时期限无限长(只要gae没倒闭)
    只适合习惯用gmail的人群
使用方法:    用Gmail邀请“机器人”[email protected],向其发送定时命令即可
命令说明:所有操作机器人均有提示
    基本格式:手机号或邮箱[空格]标题[空格]内容,例如:[email protected] 生日提醒 今天是妈妈生日
    或者直接输入手机号,默认会发往手机号对应的139邮箱,如:13812345678 生日提醒 今天是妈妈生日
    此时机器人不会马上发送邮件,需要进行功能选择(输入数字即可):
    1即时发送;2指定时间发送;3定时每天发送;4每周发送;5每月发送;6每年发送;0取消
其他说明:    1.定时只能精确到5分钟
    2.暂时只能制定10条定时命令,有需要可以联系作者
    3.输入list查看定时列表,可根据提示进行管理操作
    4.139邮箱地址可以省略为手机号



本程序是用Java写的GAE应用,比较简单,代码也没有多做优化,比较凌乱,如果大家想看源代码,在此(恕不提供部署说明了)http://code.google.com/p/terrycode/source/browse/#svn/trunk/botmail