49714 Programming for Online Prototypes
· 9 members
A hands on introduction to building online products and services through code
Memo is a facebook messager bot.
Memo is built on facebook, a place full of momeries. It has the reminder function to actively encourage you to persist record grateful moments in your daily lives. Sometimes Memo is self-willed, sometimes it turns charm on you. Memory is the main food of Memo, thus, if the user didn't feed Memo, Memo will be hungry and annoying. Since all this little cute bot want is the memory food to fill the belly.
Build Memo bot to guide users with serval options. It provide four main functions as "feed", " recollect", "drink" and " create" to create interaction with users. Each function has a meaningful interaction with Memo.
Building the bot personality was one of the toughest part of the process and one part I wish I have pushed more. I explored various types of personality – (1) I would like my bot be more attractive to users to help cultivate healthy mental habits to be grateful for things in lives (2) It provide four main functions as "feed", " recollect", "drink" and " create" to create interaction with users. And the four main functions also exhibit bots personality well. Memo needs companion and time to play with. In that way, it can help users cultivate good thanksgiving habits.
By using facebook messager, the users have two kind of options: use main menu or use keywords.
By using quick reply buttons and main menu, Memo can limit users interactions and avoid errors.
First Memo will give a brief introduction and try to make some quick interactions. Then Memo will offer four main options.
The final product is a chatbot that is designed for users to keep grateful moments and recall them in daily lives.
Personate bot main functions :
(1) feed ---- feed Memo Bot with grateful memories
(2) recollect ---- recollect memories with Memo Bot
(3) drink ---- read meaningful quotes with Memo Bot
Facebook::Messenger::Profile.set({
persistent_menu: [
{
locale: 'default',
composer_input_disabled: false,
call_to_actions: [
{
type: 'postback',
title: 'Feed Memo!',
payload: 'START'
},
{
type: 'postback',
title: 'Recollect Mmoments!',
payload: 'RECOLLECT'
},
{
type: 'postback',
title: 'Drink Quotes',
payload: 'READ'
}
]
}
]
}, access_token: ENV['ACCESS_TOKEN'])
Click to Expand
when /hello/i
message.reply(
attachment: {
type: 'image',
payload: {
url: 'https://i.imgur.com/esqGHm6.jpg'
}
}
)
message.reply(
text: 'Memo\'s here!'
)
message.typing_on
message.reply(
attachment: {
type: 'template',
payload: {
template_type: 'button',
text: 'Would you like to become friends with Memo?',
buttons: [
{ type: 'postback', title: 'Yes', payload: 'BE_FRIENDS' },
{ type: 'postback', title: 'No', payload: 'NOTBE_FRIENDS' }
]
}
}
)
else
message.reply(
attachment: {
type: 'image',
payload: {
url: 'https://i.imgur.com/wqf4j61.jpg'
}
}
)
message.typing_on
message.reply(
text: 'Memo cannot understand. Play with Memo by typing "feed", "recollect" ,"create" or "read".'
)
Click to Expand
I think that this project was fun and an interesting exercise because it made me think about how to make chatbots chatting with users more smoothly and interesting.
The most fruitful part is debugging for I have learnt a lot in this process. My bot still need to be improve in next version. The next step I should reflect is the meaning of why choose to make a diary bot on facebook, where a place full of memories.
Meanwhile, the conversation also need to be improved. I still need to consider whether this is a right option to create close relationship between bots and human and how to avoid expecting more form a bot.
A hands on introduction to building online products and services through code
Memo is a facebook messager bot.
October 19th, 2018