def docs_assist(): app = Flask(__name__) assist = Assistant(app) @assist.action('give-diet') def set_user_diet(diet): speech = 'Are you trying to make food or get food?' manager.add(diet) return ask(speech) @assist.context('vegetarian') @assist.action('get-food') def suggest_food(): return tell("There's a farmers market tonight.") @assist.context('carnivore') @assist.action('get-food') def suggest_food(): return tell("Bob's BBQ has some great tri tip") @assist.context('broke') @assist.action('get-food') def suggest_food(): return tell("Del Taco is open late") return assist
def simple_assist(): app = Flask(__name__) assist = Assistant(app, project_id="test-project-id") @assist.action("TestIntent") def test_1(): speech = "Message1" return ask(speech) @assist.action("test_intent_2") def test_2(): speech = "Message2" return ask(speech) @assist.action("test intent 3") def test_3(): speech = "Message3" return ask(speech) @assist.action("TestIntent") def test_action(): speech = "Message1" return ask(speech) return assist
def context_assist(): app = Flask(__name__) assist = Assistant(app) @assist.action('AddContext') def add_context(): speech = 'Adding context to context_out' manager.add('SampleContext') return ask(speech) @assist.context('SampleContext') @assist.action('ContextRequired') def context_dependent_action(): speech = 'Matched because SampleContext was active' return ask(speech) @assist.action('ContextRequired') def action_func(): speech = 'Message' return ask(speech) @assist.action('ContextNotRequired') def context_independent_actions(): speech = 'No context required' return ask(speech) return assist
def context_assist(): app = Flask(__name__) assist = Assistant(app, project_id="test-project-id") @assist.action("AddContext") def add_context(): speech = "Adding context to context_out" manager.add("SampleContext") return ask(speech) @assist.context("SampleContext") @assist.action("ContextRequired") def context_dependent_action(): speech = "Matched because SampleContext was active" return ask(speech) @assist.action("ContextRequired") def action_func(): speech = "Message" return ask(speech) @assist.action("ContextNotRequired") def context_independent_actions(): speech = "No context required" return ask(speech) return assist
def simple_assist(): app = Flask(__name__) assist = Assistant(app) @assist.action('TestIntent') def test_1(): speech = 'Message1' return ask(speech) @assist.action('test_intent_2') def test_2(): speech = 'Message2' return ask(speech) @assist.action('test intent 3') def test_3(): speech = 'Message3' return ask(speech) @assist.action('TestIntent') def test_action(): speech = 'Message1' return ask(speech) return assist
def init(module=AppModule()): app = Flask(__name__) app.logger.setLevel(logging.INFO) injector = Injector([module]) configure_views(app) FlaskInjector(app=app, injector=injector) assistant = Assistant(app, route='/wh/', project_id='YOUR_PROJECT_ID', injector=injector) configure_assistant(assistant) return app
def assist(): app = Flask(__name__) module = AppModule() injector = Injector([module]) assist = Assistant(app, project_id="test-project-id", injector=injector) @assist.action("simple_intent") def simple_intent(): speech = "Yes" return ask(speech) @inject @assist.action("simple_intent_with_inject") def simple_intent_with_inject(speech: str): return ask(speech) @inject @assist.action("simple_intent_with_inject_and_param") def simple_intent_with_inject_and_param(speech: str, param): return ask(param + "." + speech) @inject @assist.action("intent_with_injects_and_2_param") def intent_with_injects_and_2_param(speech: str, p1, p2, i: int): return ask(speech + ":" + p1 + ":" + p2 + ":" + str(i)) @assist.action("add_context_1") def add_context(): speech = "Adding context to context_out" manager.add("context_1") return ask(speech) @assist.context("context_1") @assist.action("intent_with_context_injects_params") @inject def intent_with_context_injects_params(speech: str, p1, p2, i: int): return ask("context_1:" + speech + ":" + p1 + ":" + p2 + ":" + str(i)) return assist
Close_db(db_Connection, db_Curser) return str(data[0]) # Open db connection db_Connection = Open_db("Dobby") db_Curser = db_Connection.cursor() Assistant_id = Get_System_Config_Value(db_Curser, "Dobby", "Assistant", "id") # Close db connection Close_db(db_Connection, db_Curser) Dobby_Assitant_App = Flask(__name__) Dobby_Assitant = Assistant(Dobby_Assitant_App, project_id=Assistant_id) @Dobby_Assitant.action('Battery Voltage') def Battery_Voltage(): Battery_Voltage_Current = Get_SQL_Value(Get_Assistant_Config_Values("Battery Voltage")) speech = "The batteries is currently reading " + Battery_Voltage_Current + " volts" return tell(speech) @Dobby_Assitant.action('Battery SOC') def Battery_SOC(): Battery_SOC = Get_SQL_Value(Get_Assistant_Config_Values("Battery SOC")) speech = "The batteries state of charge is: " + Battery_SOC + "%" return tell(speech)
# -*- coding: utf-8 -*- """Extensions module. Each extension is initialized in the app factory located in app.py.""" from flask_assistant import Assistant assist = Assistant()
from flask import Flask from flask_assistant import Assistant, ask, profile, sign_in app = Flask(__name__) app.config['INTEGRATIONS'] = ['ACTIONS_ON_GOOGLE'] app.config[ 'AOG_CLIENT_ID'] = "CLIENT_ID OBTAINED BY SETTING UP ACCOUNT LINKING IN AOG CONSOLE" assist = Assistant(app=app, route="/", project_id="YOUR_GCP_PROJECT_ID") @assist.action("Default Welcome Intent") def welcome(): if profile: return ask(f"Welcome back {profile['name']}") return sign_in("To learn more about you") # this intent must have the actions_intent_SIGN_IN event # and will be invoked once the user has @assist.action("Complete-Sign-In") def complete_sign_in(): if profile: return ask(f"Welcome aboard {profile['name']}, thanks for signing up!") else: return ask("Hope you sign up soon! Would love to get to know you!") if __name__ == "__main__":
from flask_assistant import Assistant, ask, tell from steem import Steem from steem.converter import Converter from steem.blog import Blog from steem.account import Account from steem.amount import Amount from steemconnect.client import Client from steemconnect.operations import Follow, Unfollow, Mute, ClaimRewardBalance, Comment, CommentOptions, Vote import requests, json, os, random, string St_username = "" Tag = '' s = Steem() c = Converter() app = Flask(__name__) assist = Assistant(app, route='/api', project_id=os.environ.get('project_id')) app.config['INTEGRATIONS'] = ['ACTIONS_ON_GOOGLE'] # To enable Rich Messages posts = s.get_discussions_by_trending({"limit": "8" }) # To cache the top 8 trending posts sc = Client(client_id=os.environ.get('client_id'), client_secret=os.environ.get('client_secret')) class Steemian: def __init__(self, St_username): self.username = St_username self.data = Account(self.username) self.reputation = str(self.data.rep) self.upvoteworth = self.calculate_voteworth() self.steempower = self.calculate_steempower(True) self.availablesp = self.calculate_steempower(
#!/var/www/ThingsWeOwn/ThingsWeOwn/venv/bin/ python3 from flask import Flask from flask_assistant import Assistant, ask import json app = Flask(__name__) assist = Assistant(app, project_id="things-we-own-51334") change = 5 @app.route('/test') def home(): return json.dumps({"Did this work": "Yes"}), 200, { 'Content-Type': 'josn', 'Google-Assistant-Version': 'v2' } @assist.action("/") def hello_world(): speech = "Microphone check 1, 2 what is this?" return ask(speech), 200, { 'Content-Type': 'application/json', 'Google-Assistant-API-Version': 'v2' } if __name__ == "__main__": app.run(debug=True)
def test_response_speech_escaping(mock): mock = Assistant(Flask(__name__)) resp = _Response('foo & bar') assert resp._response['speech'] == 'foo & bar'
from flask import Flask from flask_assistant import Assistant, tell, ask import logging logging.getLogger('flask_assistant').setLevel(logging.DEBUG) app = Flask(__name__) assist = Assistant(app, project_id='-------your google application id-----') @assist.action('greeting') def greet_and_start(): speech = "Hey! welcome how i can help you?" return ask(speech) @assist.action('Demo') def hello_world(): speech = 'Microphone check 1, 2 what is this?' return tell(speech) if __name__ == '__main__': app.run(debug=True, port=5001)
import json import requests from flask import Flask, render_template, request from flask_assistant import Assistant, ask, tell from proto_time_db import start, stop from proto_eremote import temp_on, temp_off, hum_on, hum_off from tinydb import TinyDB, Query db = TinyDB("db.json") sensor = Query() app = Flask(__name__) assist = Assistant(app, '/') @app.route("/temp", methods=['POST']) def temp(): temp = request.data.decode() db.update({"value": temp}, sensor.key == "temp") return temp @app.route("/hum", methods=['POST']) def hum(): hum = request.data.decode() db.update({"value": hum}, sensor.key == "hum") return hum @assist.action('Default Welcome Intent') def greet_and_start():
from flask import Flask from flask_assistant import Assistant, ask, tell, request from flask_assistant import context_manager from dialmonkey.conversation_handler import ConversationHandler from dialmonkey.dialogue import Dialogue from dialmonkey.utils import load_conf import os import logging import json app = Flask(__name__) assist = Assistant(app, route='/', project_id='solaragent-kkdkcp') conf = load_conf(os.path.join(os.path.dirname(__file__), 'config.yaml')) logger = logging.getLogger('flask_assistant').setLevel(logging.DEBUG) def serialize_dialogue(dial): return json.dumps(dict(dial.state)) def deserialize_dialogue(state): if state is None: return Dialogue() state = json.loads(state) # We cannot serialize Dialogue object nor can we set its state directly d = Dialogue() for k, v in state.items(): d.state[k] = v return d @assist.action('Default Fallback Intent') def respond(): context_manager.add('dialogue')
from flask_assistant import Assistant assist = Assistant(route="/apiaiwebhook")
from flask import Flask, render_template, request, jsonify, make_response from flask_cors import CORS, cross_origin from flask_assistant import Assistant, ask,tell import requests import json import os import numpy import MySQLdb import re app = Flask(__name__) assist = Assistant(app,route='/webhook') @assist.action('hello') def hello(): if intent =="Yes_Intent_Govt_Medical": return { "fulfillmentMessages":[ { "payload":{ "messageType":"html", "platform":"kommunicate", "message":render_template('details.html') } } ] } if __name__ == '__main__':
# -*- coding: utf-8 -*- # robo_analyst # By Cam <*****@*****.**> # # A Virtual Assistant created with flask and flask-assistant import logging from flask import Blueprint from flask_assistant import Assistant, ask, tell, context_manager as manager, event import arrow blueprint = Blueprint('assist', __name__, url_prefix='/assist') assist = Assistant(blueprint=blueprint) logging.getLogger('flask_assistant').setLevel(logging.DEBUG) metric_choices = { 'a': 'sales', 'b': 'quantity sold', 'c': 'discounts', 'd': 'refunds' } scope_choices = {'a': 'all', 'b': 'specific'} measure_choices = {'a': 'individual', 'b': 'aggregate'} @assist.action('Greetings') def welcome():
from flask import request, render_template from flask_assistant import Assistant, ask, tell from core.dialog.manager import DialogManger from app import app manager = DialogManger() assist = Assistant(app, route='/webhook', project_id='venit-2030') @assist.action('greating') def greet_and_start(): speech = "Hey! Are you male or female?" return ask(speech) @app.route('/', methods=["GET", "POST"]) def home(): if request.method == "GET": return render_template("chat1.html") elif request.method == "POST": rawAudio = request.get_data() try: return manager.process_message(rawAudio) except Exception as err: print(err) return "Something went wrong" resp = manager.engine.predict_speech(rawAudio) print('Yay, got Wit.ai response: ' + str(resp)) return "success"
from flask import Flask, request, jsonify, render_template from urllib.parse import unquote from flask_assistant import ask, tell, event, build_item, Assistant # import matplotlib.pyplot as plt import os import json import requests app = Flask(__name__) app.config['INTEGRATIONS'] = ['ACTIONS_ON_GOOGLE'] assist = Assistant(app, route='/tell') # @assist.action("hashtag") # def tell_data(any): @assist.action("covid19") def say_hashtag(any): r=requests.get("https://corona.lmao.ninja/countries") hh=r.json() con=[] for h in hh: temp=h['country'] temp2=temp.upper()
from flask import Flask from flask_assistant import Assistant, ask, tell from flask_assistant import context_manager import sqlite3 app = Flask(__name__) assist = Assistant(app, project_id="cuisine-bae54", route='/') database_loc = "datas.bd" database_connection = sqlite3.connect(database_loc) database_cursor = database_connection.cursor() database_cursor.execute( "CREATE TABLE IF NOT EXISTS Plats (id integer NOT NULL PRIMARY KEY AUTOINCREMENT, name VARCHAR(200) NOT NULL UNIQUE, ingredients TEXT NOT NULL, last_eat DATE NOT NULL DEFAULT CURRENT_TIMESTAMP, number_eat integer NOT NULL DEFAULT 0)" ) database_cursor.execute( "CREATE TABLE IF NOT EXISTS ingredients (id integer NOT NULL PRIMARY KEY AUTOINCREMENT, name VARCHAR(200) NOT NULL UNIQUE, stock BOOLEAN NOT NULL DEFAULT TRUE)" ) database_connection.commit() database_cursor.close() database_connection.close() def sql_request(request, values=None): try: database_connection = sqlite3.connect(database_loc) database_cursor = database_connection.cursor() if values: database_cursor.execute(request, values) else: database_cursor.execute(request) database_connection.commit()
from flask import Flask, Response, jsonify from flask_ask import Ask, statement from flask_assistant import Assistant, tell from flask_cors import CORS import meetup_utils app = Flask(__name__) app.config['ASSIST_ACTIONS_ON_GOOGLE'] = True cors = CORS(app) assist = Assistant(app, route='/google') ask = Ask(app, route='/alexa') @app.route('/<group_name>') def group_details(group_name: str) -> Response: """ Returns general meetup group details """ group = meetup_utils.get_group(group_name) return jsonify(meetup_utils.extract_details(group)) @app.route('/<group_name>/next') def next_meetup_endpoint(group_name: str) -> Response: """ Returns details on the next meetup for a group """ group = meetup_utils.get_group(group_name) title, time, count = meetup_utils.next_meetup(group)
import logging from flask import Flask from flask_assistant import Assistant, ask, tell, context_manager app = Flask(__name__) assist = Assistant(app) logging.getLogger('flask_assistant').setLevel(logging.DEBUG) @assist.action('greeting') def greet_and_start(): speech = "Hey! Are you male or female?" return ask(speech) @assist.action("user-gender") def ask_for_color(): speech = 'Hi there! What is your favorite color?' return ask(speech) @assist.action('give-color') def repeat_color(): speech = 'Color' return ask(speech) if __name__ == '__main__': app.run(debug=True)
#from .spam import app from flask import Flask from config import Config from flask_sqlalchemy import SQLAlchemy from flask_migrate import Migrate from flask_admin import Admin from flask_admin.contrib.sqla import ModelView from flask_socketio import SocketIO from flask_assistant import Assistant, ask, tell from flask_mail import Mail # Initiation spam = Flask(__name__) spam.config.from_object(Config) db = SQLAlchemy(spam) migrate = Migrate(spam, db) admin = Admin(spam, name='Settings', template_mode='bootstrap3') socketio = SocketIO(spam) from spam.models import Staff, Location, Problem # Admin page setup admin.add_view(ModelView(Staff, db.session)) admin.add_view(ModelView(Problem, db.session)) admin.add_view(ModelView(Location, db.session)) # Assistant and Email declaration assist = Assistant(spam, route='/fulfillment') mail = Mail(spam) from spam import routes, models
from constants import DIALOGFLOW_LANGUAGE_CODE from bson.json_util import dumps from flask_cors import CORS, cross_origin from flask_socketio import SocketIO import time from db_util import BotDatabase from constants import group_notification_enabled import logging DIALOGFLOW_PROJECT_ID = os.getenv('DIALOGFLOW_PROJECT_ID') app = Flask(__name__) cors = CORS(app) app.config['CORS_HEADERS'] = 'Content-Type' assist = Assistant(app, route='/api', project_id=DIALOGFLOW_PROJECT_ID) logger = logging.getLogger('werkzeug') # grabs underlying WSGI logger handler = logging.FileHandler('pexa.log') # creates handler for the log file logger.addHandler(handler) # adds handler to the werkzeug WSGI logger app.config['SECRET_KEY'] = 'secret!' # socketio = SocketIO(app,cors_allowed_origins="*") #using for live match as well as old match scoreboard @app.route('/match_data/<id>', methods=['GET']) @cross_origin() def get_match_data(id): match_doc = BotDatabase.get_match_document_by_id(id) print(dumps(match_doc)) return dumps(match_doc)
from flask import Flask from flask_assistant import Assistant, tell import requests import logging logging.getLogger('flask_assistant').setLevel(logging.DEBUG) app = Flask(__name__) assist = Assistant(app, project_id='GOOGLE_CLOUD_PROJECT_ID') @assist.action('get-weather') def hello_world(): URL = "http://api.icndb.com/jokes/random" # sending get request and saving the response as response object r = requests.get(url=URL) # extracting data in json format data = r.json() # extracting latitude, longitude and formatted address # of the first matching location joke = data['value']['joke'] #file1= open('joke.txt','w') #file1.write(joke) #file1.close() # to see the full request and response objects # set logging level to DEBUG
def test_response_with_speech(mock): mock = Assistant(Flask(__name__)) resp = _Response('foobar') assert resp._response['speech'] == 'foobar'
import os import sys project_dir = os.path.dirname(os.path.dirname(__file__)) sys.path.insert(1, project_dir) from flask import Flask from flask_assistant import Assistant, ask, tell from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) assist = Assistant(app, route='/') # Set up SQLite DB. db_dir = os.path.dirname(os.path.abspath(__file__)) database_file = "sqlite:///{}".format(os.path.join(db_dir, "auth_token.db")) app.config['SQLALCHEMY_DATABASE_URI'] = database_file app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False db = SQLAlchemy(app) # Import these only after db is instantiated. from actions import generate_portfolio_summary from actions import generate_top_news @app.route('/') def index(): # return generate_portfolio_summary() return generate_top_news() @assist.action('get-market-news')
def test_response_with_None_speech(mock): mock = Assistant(Flask(__name__)) resp = _Response(None) assert resp._response['speech'] is None