\seekquarry\yioop\examples\stockbotStockBot

This class demonstrates a simple Stock Chat Bot using the Yioop ChatBot APIs for Yioop Discussion Groups.

To use this bot: (1) Move this file to some folder of a web server you have access to. Denote by some_url the url of this folder. If you point your browser at this folder you should see a message that begins with: There was a configuration issue with your query. (2) Under STOCK_URL below change the apikey value to your apikey value that you get from https://www.alphavantage.co/ (3) Create a new Yioop User. (4) Under Manage Accounts, click on the lock symbol next to Account Details (5) Check the Bot User check bot, click save. (6) Two form variables should appear: Bot Unique Token and Bot Callback URL. Fill in a value for Bot Unique Token that matches the value set for ACCESS_TOKEN in the code within the StockBot class. Fill in some_url (as defined in step (1)) for the value of Bot Callback URL (7) Add the the user you created in Yioop to the group that you would like the bot to service. Let the name of this user be user_name. (8) When logged into the user_name account you should now see a Bot Story activity in the activity side bar. Click on Bot Story. This activity lets you add patterns that tell your chat bot how to react when it sees various expresssions. To demo your bot add the following three patterns: (a) Request Expression: What is your name? Trigger State: 0 Remote Message: Result State: 0 Response: Stockbot This first pattern just says if someone does a query of the form:

Summary

Methods
Properties
Constants
processRequest()
checkBotToken()
getStockPrice()
getSymbol()
No public properties found
SYMBOL_URL
STOCK_URL
ACCESS_TOKEN
TIME_WINDOW
No protected methods found
No protected properties found
N/A
No private methods found
No private properties found
N/A

Constants

SYMBOL_URL

SYMBOL_URL

Url of site that this bot gets ticker symbol from

STOCK_URL

STOCK_URL

Url of site that this bot gets stock price from

ACCESS_TOKEN

ACCESS_TOKEN

Token given when setting up the bot in Yioop for callback requests This bots checks that a request from a Yioop Intance sends a timestamp as well as the hash of this timestamp with the bot_token and post data and that these match the expected values

TIME_WINDOW

TIME_WINDOW

Number of seconds that the passed timestamp can differ from the current time on the WeatherBot machine.

Methods

processRequest()

processRequest() 

This is the method called to get the StockBot to handle an incoming HTTP request, and echo a stock related message

checkBotToken()

checkBotToken() 

This method is used to check a request that it comes from a site that knows the bot_token in use by this StockBot.

getStockPrice()

getStockPrice(string  $args) : string

Get stock price information for a ticker symbol

Parameters

string $args

the value of $args[0] should be the name to get stock price for

Returns

string —

stock price information

getSymbol()

getSymbol(array  $args) : string

Get ticker symbol for a company name

Parameters

array $args

the value of $args[0] should be the company name to get ticker symbol for

Returns

string —

ticker symbol