Kino is a personal assistant based on Slack Bot. It was developed as a personal project to improve my life quality by automatically quantified self. Various Tracking Tools (cf. RescueTime, Toggl, Todoist) and various third-party (cf. Github, DarkSky, Gbus and etc..) are customized as kino's skill. In addition, kino can automate the parts in everyday life and work. I will also use machine learning and deep learning to grow beyond simple bot to become a smart assistant.
Kino is getting smarter! Pull requests are always welcome. :D
Article - Title | English | Korean |
---|---|---|
Personal Assistant Kino Part 1 — Overview. | Medium | Github page |
Personal Assistant Kino Part 2 - Skill & Scheduler. | Medium | Github page |
Personal Assistant Kino Part 3 - T3. | Medium | Github page |
- Support mutiple languages (Korean and English)
- Skill : make your own skill and simply register skill writing function's doc.
- Scheduler : jobs(skill) running in background
- Automatic Tracking
- Sleep Time
- Working Hour
- Tasks
- Happy & Attention Score
- Notify latest Feed & Popular Tweet
- Automatically save to Pocket based on your activity (Feed Catogory Classifier)
- Integrate with Giphy
- Customize Webhook for IFTTT or Zapier
- Slack
- Python 3.6
First, install requirements
pip install -r requirements.txt
Second, fill the config.yml (Minimal config)
bot:
MASTER_NAME: <name>
BOT_NAME: Kino
LANG_CODE: en
TRIGGER:
- hey kino
- 키노야
ONLY_DIRECT: false // text startswith Trigger or @kino, or Direct Message
GIPHY_THRESHOLD: 85 // all responses are random pick number (1~100) to use giphy
slack:
TOKEN: <token>
channel:
DEFAULT: "#general"
Finally, just run python main.py
.
kino-bot has 27 skills.
- 🏭 air_quality : Air quality forecast. (can use only Korea airkoreaPy)
- ✍️ attention_question : Attention survey after do task.
- ✍️ attention_report : Attention Report.
- 🚍 bus_stop : Bus arrival information. (can use only Korea (gbus api))
- 🌞 forecast : Weather forecast. (using darksky)
github_commit : Check Github push count.
- 😄 happy_question : Happiness survey.
- 😄 happy_report : Happiness Report.
- 🍯 honeyjam : Easter Egg - Korea Azae Humor (using honeyjam).
- 🏗️ jenkins_build : Build a registered project for Jenkins.
- 📋 kanban_sync : Todoist's tasks and Kanban board's card Syncing.
- :thinking_face: keep_idea : Keep idea in Trello board's inbox list.
- :scales: maxim_nietzsche : Nietzsche's Maxim.
- :thinking_face: remind_idea : Remind Trello's inbox card randomly pick.
- 📈 rescuetime_efficiency : RescueTime Efficiency Chart
- 🎼 samhangsi : I am thinking about the Samhangsi with the kor ballad! (using char-rnn-tensorflow)
- 💬 send_message : Send a text message.
- 🌆 today_briefing : Today Briefing - brief Todoist tasks
- 🌃 today_summary : Today summary - todoist_feedback, toggl_report, rescuetime_efficiency, happy_report, attention_report, github_commit
- 📝 todoist_feedback : Feedback from Todoist activity.
- 📃 todoist_remain : Show todoist's remaining tasks.
- 🔔 toggl_checker : Toggl time checker Every 30 minutes.
- 📊 toggl_report : Toggl task Report.
- ⌚ toggl_timer : Toggl Timer.
- 💹 total_chart : Overall chart - weekly productivity, happiness, overall score chart.
- 💹 total_score : Overall score - Productivity (RescueTime, Github Commit, Todoist, Toggl), Mean happiness, mean attention, Exercise, Diary.
- 🔮 translate : Language translation using Naver Papago api.
- conversation-tensorflow : A neural chatbot using sequence to sequence model with attentional decode
- text-classification-tensorflow : filtering module that using feed's title
- Kino tells me that all of the feeds that interest me are saved in the pocket. Data is automatically accumulating.
- feed : all training data
- pocket : label 1 (true) data
if you want develop your own bot, clone base branch and implements skills.
See the LICENSE file for license rights and limitations (MIT).