Home

Awesome

Kik

Build Kik bots with Ruby

Installation

Add this line to your application's Gemfile:

gem 'kik', git: "git://github.com/muaad/kik"

And then execute:

$ bundle

Or install it yourself as:

$ gem install kik

Usage

Create a Kik bot at dev.kik.com and copy your bot name and API key.

Initialize the Kik::Client

client = Kik::Client.new 'bot_name', 'api_key'

Set webhook

client.set_webhook 'url'

You can specify some settings like whether you want to send/receive read receipts, delivery receipts or typing notification.

client.set_webhook 'url', { "manuallySendReadReceipts" => false, "receiveReadReceipts" => false, "receiveDeliveryReceipts" => false, "receiveIsTyping" => false }

Send messages

Kik requires that a bot doesn't initiate a conversation with a user. When a user sends your bot a message, it will receive the chat_id which you can use to reply to the message.

client.messages.send_text('user_name', 'chat_id', 'message')

You can add a keyboard to your message. Pass in the keyboard as an array containing a list of the elements that make up the keyboard. The boolean argument at the end is for toggling the keyboard ON or OFF.

client.messages.send_text('user_name', 'chat_id', 'Are you a human being?', ["Yes", "No"], true)

Send images

client.messages.send_image 'user_name', 'chat_id', 'path/to/file.png'

Send videos

client.messages.send_video 'user_name', 'chat_id', 'path/to/video/file.png'

You can also set the following properties to determine whether a video should be autoplayed or muted or set the attribution.

client.messages.send_video 'user_name', 'chat_id', 'path/to/video/file.png', muted, autoplay

where muted and autoplay are boolean and both default to false.

Send links

client.messages.send_link 'user_name', 'chat_id', 'url'

Send typing

client.messages.send_typing 'user_name', 'chat_id'

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/muaad/kik.

License

The gem is available as open source under the terms of the MIT License.