自動的に元日にTweetしてみる

G* Advent Calendar の 12/16 記事に触発されて書いてみました。
AkeomeJobから呼び出すメソッドを変えると画像付きと画像なしが選べるようにしたつもり。

http://samuraism.jp/diary/2011/12/16/1323962040000.html

これとは別にtwitter4j.propertiesを用意しないといけないです。

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
@Grab("org.twitter4j:twitter4j-core:*")
@Grab("org.twitter4j:twitter4j-media-support:*")
@Grab("quartz:quartz:*")
import twitter4j.*
import twitter4j.media.*
import org.quartz.*
import org.quartz.impl.*
class AkeomeTask{
def akeome(){
TwitterFactory.singleton.updateStatus("あけました! #バルス")
println "TEST" + new Date()
}
def akeomeWithPicture(){
def imageUri = new ImageUploadFactory().instance.upload(new File("akeome.jpg"), "あけました! #バルス")
println imageUri
}
}
public class AkeomeJob implements Job{
@Override void execute(JobExecutionContext context){
context.getJobDetail().getJobDataMap().get("akeomeTask").akeomeWithPicture()
}
}
def job = new JobDetail()
job.name = "akoeomeJob"
job.jobClass = AkeomeJob.class
job.jobDataMap << ["akeomeTask": new AkeomeTask()]
def trigger = new CronTrigger()
trigger.name = "akeomeTrriger"
trigger.cronExpression = "0 0 0 1 1 ?"
def scheduler = new StdSchedulerFactory().getScheduler()
scheduler.start()
scheduler.scheduleJob(job, trigger)

まぁ、喪中なので使いませんがw。