Skip to content

Instantly share code, notes, and snippets.

@AndreClaassen1
Last active February 11, 2016 06:50
Show Gist options
  • Save AndreClaassen1/0f894447758680e7a80a to your computer and use it in GitHub Desktop.
Save AndreClaassen1/0f894447758680e7a80a to your computer and use it in GitHub Desktop.
JavaScript for converting a message body to an google calendar entry for huginn
function ISODateString(d){
function pad(n){return n<10 ? '0'+n : n}
return d.getUTCFullYear()+'-'
+ pad(d.getUTCMonth()+1)+'-'
+ pad(d.getUTCDate())+'T'
+ pad(d.getUTCHours())+':'
+ pad(d.getUTCMinutes())+':'
+ pad(d.getUTCSeconds())+'Z'}
var monthArray = [ "Januar", "Februar", "März", "April" "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember" ]
Agent.receive = function() {
var events = this.incomingEvents();
for(var i = 0; i < events.length; i++) {
var body = events[i].payload['body']
var summary = events[i].payload['subject']
var germanDate = body.match(/\w+, (\d+). (\w+) (\d+)/)
var day = germanDate[1]
var month = monthArray.indexOf(germanDate[2])
var year = germanDate[3]
var startDate = new Date(year, month, day, 18, 0, 0, 0)
var endDate = new Date(year, month, day, 21, 0, 0, 0)
this.createEvent(
{ 'message':
{ 'summary': summary,
'visibility': 'default',
'description': body,
'start': {
'dateTime': ISODateString(startDate)
},
'end': {
'dateTime': ISODateString(endDate)
}
}
}
);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment