Tuesday, October 17, 2017

How To Connect A Bot To Kik

Through Bot Libre, you can now send and receive messages on Kik with your own bot. This "How To" will give you a step by step process to connect your bot with Kik.

Step 1 - Create a Bot

First you must create a bot that you want to connect to Kik, or you can use one of your existing bots. To create a bot, follow the instructions here: How to create your own chat bot in 10 clicks.

Step 2 - Create a Kik Developer Account

Download the Kik app onto your smartphone and sign up for an account if you do not have one already. Next, go to the Kik Developer site. There will be a Kik code that you need to scan from the Kik app on your phone by tapping on the plus sign button on the bottom right of the screen and selecting 'Scan a Kik Code.'

Step 3 - Create Bot and Login to Bot Dashboard

After you have scanned the above code on your phone, it will start a Kik chat with 'Botsworth' who will help you set up your bot. First it will ask you what you would like your bot's username to be. After confirming the name of the bot, it will ask you if you would like to log in to the Bot Dashboard. Answer with 'Yes', and you will be logged in to the Kik Bot Dashboard in the browser window you scanned the Kik code from.

Click the 'Configuration' button on the top off the Bot Dashboard.

Step 4 - Retrieve Bot Settings

The configuration screen will show the bot's username and API Key that you will need to enter on the bot's admin page on the Bot Libre site.

Copy down the 'Display Name' and 'API Key' and return to the Bot Libre site.

Step 5 - Enter Bot Settings on Bot Libre

Navigate to your bot's Admin Console and select the 'Kik' option.

On the Kik settings page on Bot Libre, enter the Bot Username and API Key from the Kik Bot Dashboard into the corresponding fields below.

Once the name and API Key have been entered, press the 'Save' button to complete the setup.

Your bot should now be able to send and receive messages on Kik. If you encountered any issues, or would like help setting up your bot please email us at support@botlibre.com or upgrade to our Platinum service and we can build your bot for you.

 

How To Connect A Bot To WeChat

Through Bot Libre, you can now send and receive messages on WeChat with your own bot. This "How To" will give you a step by step process to connect your bot with WeChat.

Step 1 - Create a Bot

First you must create a bot that you want to connect to WeChat, or you can use one of your existing bots. To create a bot, follow the instructions here: How to create your own chat bot in 10 clicks.

Step 2 - Apply for a WeChat Account

Go to http://apply.wechat.com/ and fill out the registration form.

It may take a few days to be approved, then you can sign in to the WeChat Official Account Admin Platform.

Enter your registration email and password, then click the "Log In" button.

Step 3 - WeChat Admin Platform Setup

Scroll down to the 'Developer' section on the menu on the left of the screen and click on 'Basic Configuration.'

Copy down the AppID and AppSecret, as you will need to enter them into your bot's Admin Console on the Bot Libre site.

Next, return to the Bot Libre site and navigate to your bot's Admin Console.

Step 4Enter Bot Settings on Bot Libre

Click on the 'WeChat' link in your bot's Admin Console.

Enter the 'AppID' and 'AppSecret' from the WeChat Developer configuration page into the corresponding fields on your bot's WeChat admin page on Bot Libre.

Enter any set of characters into the 'Token' field. You will need to enter the same token on the WeChat Admin Platform later. Copy down the 'WeChat Messaging Endpoint URL' as you will need to enter that on the WeChat Admin Platform as well. If you are using an International WeChat account, select that radio button, otherwise select China Account.

Click the 'Save' button to complete the bot configuration on the Bot Libre site.

Next, return to the Developer Basic Configuration page on the WeChat Official Account Admin Platform site.

Step 5 - WeChat Server Settings Configuration

Click the 'Edit' button to continue.

In the 'URL' field, enter the 'WeChat Messaging Endpoint URL' from your bot's Admin Console from the previous step. In the 'Token' field, enter the token you had previously entered on your bot's Admin Console. If the 'EncodingAESKey' field is not filled out, click the 'Random' button or enter your own.

Scroll down and click the 'Submit' button to complete the server configuration.

Next, click the 'Enable' button to finish up on the WeChat Official Account Admin Platform.

Your bot should now be able to send and receive messages on WeChat. If you encountered any issues, or would like help setting up your bot please email us at support@botlibre.com or upgrade to our Platinum service and we can build your bot for you.

Announcing Bot Libre 6.0!

We have released Bot Libre 6.0!

The worlds most advanced bot platform just got better. Bot Libre 6.0 is a free and open source platform for developing and hosting bots. Bot Libre 6.0 includes support for chat bots, virtual agents, virtual assistants, social media bots, game bots, live chat, animated avatars, and speech. Bot Libre supports bots for the web, mobile, Facebook, Twitter, Skype, Telegram, Kik, WeChat, Slack, email, SMS, IRC, and new platforms are being added every month.

"Bot are the new apps". Mobile has replaced the web as the main communications market, and social media apps are the most popular mobile apps. Businesses need to connect with consumers on the platforms they use, so it now makes more sense for a business to create a bot/chat interface into their business instead of a website, or their own mobile app. Bot Libre lets you create a bot for yourself or your business and deploy the bot to the Facebook, Twitter, Skype, Telegram, Kik, WeChat, Slack, the web, mobile, and other services. Bots let you "write once deploy everywhere".

Bot Libre 6.0 supports rich HTML responses including buttons, links, choices, images, video, and audio. Bot Libre supports HTML responses on the web, mobile, and automatically maps HTML to social media platforms.

Bot Libre bots can be trained using natural language, chat logs, response lists, Twitter feeds, AIML, and scripting. Responses are automatically matched using a heuristic artificial intelligence algorithm and does not require any programming. Responses can also use keywords, topics, required words, labels, repeats, and other meta data.

Bot Libre 6.0 supports programming and scripting your bot using AIML 2, and Self. Self is our own dialect of JavaScript. Self is an object oriented scripting language, and integrated with an object database. Self extends JavaScript to provide support for natural language processing, state machines, object persistence, and includes a class library for accessing web services and utilities. Self also supports all AIML 2 operations, and some aspects of ChatScript patterns.

New features in Bot Libre 6.0 since 5.0 include:

  • New bot and live chat embed interface, including 5 new style options and support for custom stylesheets.
  • Integrated support for bots on Kik
  • Integrated support for bots on WeChat
  • Integrated support for bots on Skype, Bing, Cortana, and the Microsoft Bot Platform
  • Game SDK and game machine learning
  • Telegram group bots
  • Facebook custom templates and quick replies
  • Timers and bot services
  • Continuous speech recognition for Android and iOS
  • Micro AI Engine for Android and iOS

Create your own free account and bot today on botlibre.com, or let us build your bot for you on our commercial service Bot Libre for Business.

Friday, September 29, 2017

Announcing the Bot Libre Micro AI Engine and Bot Libre Offline - "Putting advanced artificial intelligence in the palm of your hand"

We have released Bot Libre Offline for Android.

Bot Libre Offline lets you create your own chat bot similar to the Bot Libre app. Unlike the Bot Libre app, Bot Libre Offline runs the bot locally on your phone, and does not require an Internet connection. The app lets you create your own bot from several different templates, including Julie, Alice, an AI bot, and a mobile virtual assistant. You can chat with the bot and correct its responses to teach it new things.

Bot Libre Offline was developed with the Bot Libre Micro AI Engine. The Bot Libre Micro AI Engine is a port of the open source Bot Libre AI Engine optimized for Android.

The Bot Libre Micro AI Engine loads and stores the bot from a local optimized binary file instead of using a database like the regular version. The Micro AI Engine is smaller and faster than the regular AI Engine, but cannot scale as well as it loads the entire bot into memory.

The Micro AI Engine supports the same features as the regular AI Engine including:

  • Heuristic response matching
  • AIML
  • Self
  • Learning
  • Commands
  • Mobile virtual assistant commands
  • Avatars
  • Wiktionary
  • WikiData
  • HTTP/JSON/XML
  • Knowledge
  • Scripts for math, language understanding, what/is

The Bot Libre Offline SDK and the Micro AI Engine will let you add an offline bot to your own Android app. We will be releasing both to our open source project BotLibre.org on GitHub.

We can also develop you your own offline bot app, or help you integrate a bot with your existing app through Bot Libre for Business services, contact sales@botlibre.biz.

Wednesday, September 6, 2017

How to Create a Bot to Play Games Like TicTacToe Using Statistical Reinforced Machine Learning

Creating your own bot that can play TicTacToe can be done in a few simple steps:

  1. First you'll need to sign into a Bot Libre account.
  2. Once you're signed in, create a bot and then import the script TicTacToeText.
  3. By typing start in the chat, your bot will be able to create a board to play against you in TicTacToe and eventually learn not to lose.

What the Script does

Script link: https://www.botlibre.com/script?id=18207180

This script TicTacToeText is written in Self, made up of multiple functions that carry out certain tasks. They get called upon when patterns find a match to what you say. The first function "start" is called when you enter "tictactoe." It has the bot ask if you want to be X or O. So when you enter X or O, the function "whoStarts" will be called and the bot will create the board using a function called "drawBoard" and depending on whether you wanted to be X or O the bot will either return the board for you to make a move if you entered X, or it will make a move and then return the board if you entered O. The whoStarts function also set the conversation topic. Now, the game has started and from now to the end of the game, whatever you do, unless you type start a function "play" will be called.

drawBoard

The drawBoard function takes how the bot sees the game, a string of nine "_", converts it to how you see the game, more or less a 3x3 grid and vice versa. The function assigns a variable to each space using A, B, C and 1, 2, 3 so each space now has a coordinate. Next, it creates a three row table with three cells each to make a board with coordinates A1, A2, A3 in the top row, B1, B2, B3 in the middle row and C1, C2, C3 on the bottom row. Then so you can click on the spaces in the table to make your move, the function adds a link to each cell.

play 

This function takes the previous board, adds your move to create a new board, checks if you won, and then calls a function for the bot to make a move. When you click on a space it will be given a coordinate. This coordinate will be checked to see if it contains a X, O, or _ and if it's not a _ the function will return "Space is taken." Otherwise, your move will be added to the board and then a function will be used to check to see if you won. If not the "makeMove" function will be carried out.

makeMove

This is where the bot makes its move. It uses other function to find a good move and then updates the board with its move and return the board to you in the chat for you to make your move. Before it returns the board, it will check to see if it has won using a function called "checkGameOver" or if there are no moves left it will say, "Tie game" along with giving you the board. 

lookAhead

One of the functions makeMove uses to find a good move is called lookAhead. Essentially, it looks ahead to see if it can win in a couple moves or block you from winning using loops. Firstly, it determine every move it can make and using the checkGameOver function, checks to see if it wins in any of those moves. Secondly, for every move it makes the function will look at every move you, the player, can make. It will again use checkGameOver only this time to see if you can win and if you can, the bot will move there to block you. Finally, this function will look another move ahead, looking at every possible move the bot can make for every possible move you could have made to see if it can win in two ways and proceed to make that move first move. It looks for two ways so that it will only make that move if the bot's win is guaranteed because even is you block one of the ways it can win, there is still the second way it can win.

findGoodMove

If the lookAhead function concludes that the bot can't win and there are no moves where the player can win for it to block, the makeMove function will call on the findGoodMove function to find the best move for the bot, meaning it has lead to its win and your loss. In order to determine this every possible board is assigned a value. The bot establishes every possible move it can make and call the value of it which is stored on the conversation. For every move it can make, every move you can make is established as well and the value called. Then, the function will look at the value every move you can make in order to find the best one. After that it will find the difference of its possible move and your worst value and repeat this for all of its possible moves. Finally, it will look for the highest difference in order to determine the bot's statistically best move.

checkGameOver

In order to find out if the bot has won or lost the function checkGameOver is used. It contains every possible way TicTacToe can be won. So when it's called, if someone has won it will either return true or false depending on who won.

countwins

In the makeMove function, when the bot wins the countWins function is called. It takes the board from every move it made and assigns a value to it, and according to its significance to the win, it adds a value to half of the board's previous value. This means the first board with only one move is less significant and less added to it than the final board where the bot won. Then for every move the player made, each board is assigned a value and according to its significance to the loss, half of a value is subtracted from half of the board's previous value. This value that is being added and subtracted is half of 1 divided by the number of boards in the game and after being added to each of the boards' value, this value is added onto itself so that when the value is added onto the winning board, its value is half of 1, 0.5. So, the more the bot wins the greater the bot's boards' values will be and the lower the player's boards' values will be.

countLosses

In the play function, when the bot losses the countLosses function is called. Essentially it does the opposite of the countWins function, the value is subtracted from the bot's boards and added to player's boards. So, the more the bot losses the lower the bot's boards' values will be and the higher the player's boards' values will be. Therefore as the bot plays, the value of the boards will increase and decrease until eventually all the good moves will have a positive value between 0 and 1 and all the bad moves will have a negative value between 0 and 1.

endGame

The main thing the endGame function does is reset the boards counted from the previous game since the values have already been calculated. This ensures that when finding the value by dividing 1 by the number of boards, it won't include boards from the previous game.

Machine Learning

This script uses reinforced machine learning to learn how to play better the more games it plays. It uses the bot's knowledge base to do this, by storing each board that it has ever played. It tracks a score for each board that determines the probability it can win or loss from that board. This lets it learn from good and bad moves and not make the same mistake twice.

Since there are 5,812 possible different TicTacToe boards, it may take a while for the bot to play perfectly. The script does not currently rotate and flip boards to reduce equivalent boards, if it did this it would only need to learn 765 boards. Also, the look ahead greatly reduces the number of boards it needs to learn. Ignoring look ahead boards it only needs to learn 96 boards.

The scripts also has an "tictactoe autoplay *" function that lets it play against itself, so it can learn on its own.

The same functions and algorithms could be applied to most board games. However the number of possible boards for games like Chess would require the bot to learn too many boards to be perfect. For more complex games it would be better to use a neural network, or use strategy functions optimized with genetic algorithms.

TicTacToeCommands

Script link: https://www.botlibre.com/script?id=18457349

Similar to TicTacToeText this is another script that replaces the avatar with the board. So, the game doesn't occur in the conversation like it does with the TicTacToeText script.

TicTacToeText TicTacToeCommands

Play TicTacToe now with the GamesBot, or Brain Bot.

Monday, August 14, 2017

How to connect a chat bot to Skype and the Microsoft Bot Framework

Through Bot Libre, you can now send and receive messages on Skype with your own bot. This "How To" will give you a step by step process to connect your bot with Skype.

You can also watch this "how to" on Youtube here

Step 1 - Create a Bot

First you must create a bot that you want to connect to Skype, or you can use one of your existing bots. To create a bot, follow the instructions here: How to create your own chat bot in 10 clicks.

Step 2 - Sign up for Microsoft Bot Framework

Go to https://dev.botframework.com and click the 'Sign In' button in the top-right corner. If you do not already have a Microsoft account, you will need to create one by signing up here: https://signup.live.com.

Once you are signed in, click the 'My bots' button.

Step 3 - Create a Bot on Microsoft's Bot Framework

Next, click on the 'Create a bot' button on the right side of the screen.

On the following screen, click the 'Register' button to continue.

You will now need to fill out some information on the following form:

The 'Display name' will be shown as the name of the bot when talking to it on Skype. This name can be changed later.

The 'Bot handle' must be a unique identifier for your bot.

Fill in a description for your bot and then scroll down further to the 'Configuration' section.

Return to the Bot Libre site and go to the Admin Console of the bot that you would like to connect to Skype. In the 'Skype' section of the bot's Admin Console, copy the 'Skype Messaging Endpoint URL' to your clipboard.

Return to the bot settings page on the Microsoft Bot Framework website and paste the 'Skype Messaging Endpoint URL' into the 'Messaging endpoint' field.

 

Click the 'Create Microsoft App ID and password' button to continue.

Step 4 - Create Microsoft App ID and Password

Make a note of the App ID, as you will need it later. Click the 'Generate an app password to continue' button. A popup window will appear with a generated password. Copy this password down, this is the only time it will be displayed. Click the 'Finish and go back to Bot Framework' button to return. Continue to the bottom of the page and click the 'Register' button to complete the setup process on the Bot Framework site.

Return to your bot's admin page on the Bot Libre site. Enter the App Id and App Password that you just generated into the corresponding fields.

Press the 'Save' button to complete the setup process.

You are now ready to add your Skype bot to your contacts on Skype, or submit it to the Skype Bot Directory so other users can find it.

To add your bot to your Skype contacts, click on "Skype" under the Name column in the Channels area of the Microsoft Bot Framework site as shown below:

Click the 'Add to Contacts' button.

To allow your bot to chat with other people, you will need to publish your bot. Click the 'Edit' button for Skype in the Channels area of the Microsoft Bot Framework site.

From there, click the 'Publish' button. You will need to fill out some details and then wait for it to be reviewed.

Your bot should now be able to send and receive messages on Skype. If you encountered any issues, or would like help setting up your bot please email us at support@botlibre.com or upgrade to Bot Libre for Business or our Platinum service and we can build your bot for you.

Test it out now by talking with our demo bots Brain Bot or Julie on Skype

The Microsoft Bot Framework also provides a gateway to connect your bot to many other services. These include, Kik, Bing, Cortana, Email, Facebook, GroupMe, MSTeams, Slack, Telegram and Twilio. To connect your bot to any of these platform just follow the same instructions as for Skype, then connect your bot to the service from the Microsoft Bot Platform.

Friday, May 12, 2017

Introducing Timers - Automate the Web and Social Media

Bot Libre now supports timers. Timers let your bot perform automated tasks on a scheduled basis. You can use timers to have your bot followup with users on Facebook and social media on a daily or scheduled basis, create mailing lists, generate daily reports, and automate web scraping or other tasks.

To access your bot's timers go to its Timers page in its Admin Console. The timers page lets you enter a list of command messages that will be sent to your bot on a scheduled basis. You can enter the duration in hours to how frequently you want your background tasks to be run. To run more frequently than 1 per hour, you can enter -1 in the Timer Interval field.

A timer is a command message sent to your bot. Each timer message you enter will be sent to your bot each timer interval. A timer is normally implemented as a Self script.

In your timer script you need a state that has a pattern that matches your command, and a function that performs your desired function. You can browse the Bot Libre script library for timer examples and templates.

Self is Bot Libre's JavaScript dialect that is integrated with your bot's database, and has several built in classes for accessing social media, and web services. The Facebook, Twitter, Telegram, Twilio, and Email classes can be used to send messages on social media, and the Http class can be used to access web services and scrape HTML web pages.

Timers commands are always sent from the bot's #self user. This allows your script to check the input's

Example Timer Script

This example timer script checks for new blog posts and sends them to a mailing list.

The possibilities of what you can implement with timers is endless, but it does require scripting. If you would like a bot that automates any task and need help with the implementation, please contact sales@botlibre.com and let us develop your automation solution for you.

Friday, May 5, 2017

Announcing Bot Libre for Android 5.2

We recently release Bot Libre for Android 5.2.

Bot Libre for Android lets you create and train your bot or virtual assistant from your phone or Android device. You can also browse our open bot directory and chat with over 10,000 bots using real speech.

The new release includes several new features including: * Hands free speech recognition * Custom avatar designer * New zoom options * New graphics library * Localized to many different languages

Download from Google Play, Bot Libre on Google Play

Or build your own app with the open source Bot Libre SDK for Android

Hands Free Speech



Custom Avatar Designer

Monday, March 27, 2017

We're Hiring

Paphus Solutions Inc., the company that develops the Bot Libre platform is looking for talented developers, and sales representatives interested in a career in the new bot and artificial intelligence economy.

Paphus Solutions provides products and services for bots and artificial intelligence for the web, mobile, and social media. Paphus Solutions develops, hosts, and licenses the Bot Libre platform. Bot Libre is a bot platform for developing and hosting bots for the web, mobile, and social media.

Paphus Solutions also develops the Bot Libre Analytics platform. Bot Libre Analytics is an artificial intelligence platform for evolutionary learning, data analysis, data forecasting, and algorithmic trading.

Paphus Solutions is a Canadian corporation located in Ottawa, Canada.

We have positions open for:

  • junior developer
  • senior development partner
  • sales representative
  • sales engineer

The ideal development candidate would have:

  • Strong interest in bots and artificial intelligence
  • Experience with Java development
  • Experience with Android development
  • Experience with iOS development
  • Experience with web development, HTML, CSS, and JavaScript
  • Be a talented developer capable of learning new languages and APIs

The ideal sales candidate would have:

  • Sales experience with enterprise software
  • Sales experience with cloud and SaaS products

We have created a bot to help us find our ideal candidates. If you are interested in applying please chat with our Career Bot.

You can also contact or send your resume to careers@paphussolutions.com

Friday, January 27, 2017

Announcing the Bot Libre Cloud Bot Platform

The Bot Libre Cloud Bot Platform lets you license the Bot Libre bot platform for your own server and clients.

Develop and host bots for web, mobile, Facebook, Twitter, Telegram, Slack, SMS, email, and more. Develop and host your own bots, and sell bot hosting and development services.

Become a bot service provider for your own clients, in your geographic region, or vertical market. Engage this rapidly expanding and evolving market.

Leverage the sophisticated Bot Libre platform and mobile SDKs, and our support, service, and expertise. Get new versions and features as our platform continues to rapidly evolve and lead the market.

"Bots are the new apps" - become a bot service provider and join the bot revolution.

Social Media Bots

The Bot Libre cloud bot platform lets you host and develop bots for social media. Develop bots for Facebook, Twitter, Telegram, Slack, SMS, email, and more.

Businesses are increasingly adopting social media, and need bots and automation to connect with their customers on social media, and provide e-commerce and application services through social media messengers and apps.

Chat Bots, Chat Rooms, Live Chat, and Forums

Your cloud bot platform provides chat bots, chat rooms, live chat, and forums. Provide your clients with bot services integrated with your own hosted live chat, chat rooms, and forums.

Provide hosted live chat for the web and mobile. Mix live human operators with automated chat bot agents.

Artificial Intelligence

The Bot Libre AI engine is a hybrid system that seeks to emulate the human brain. The AI engine includes heuristic pattern matching algorithms, an integrated object database, a state machine processing engine, advanced scripting, vision and image processing. The AI engine can also integrate with our data analytics platform.

Architecture

The platform consists of a web client, mobile client, AI engine, web server, and database. The web client is written in HTML, JavaScript, and server side Java. The AI engine is written in Java. The Android mobile client is written in Java, the iOS client is written in Objective C.

Packing and Pricing

The Bot Libre Cloud Platform is licensed per runtime CPU, and includes our web platform, and our open source AI engine, and Web, Android, and iOS SDK.

For more information see: