merged gen_ical and gen_json into bot