Пример #1
0
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
Пример #2
0
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
Пример #3
0
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
Пример #4
0
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
Пример #5
0
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
Пример #6
0
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
Пример #7
0
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
Пример #8
0
    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)
Пример #9
0
# -*- coding: utf-8 -*-
"""Extensions module. Each extension is initialized in the app factory located in app.py."""
from flask_assistant import Assistant

assist = Assistant()
Пример #10
0
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__":
Пример #11
0
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(
Пример #12
0
#!/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)
Пример #13
0
def test_response_speech_escaping(mock):
    mock = Assistant(Flask(__name__))
    resp = _Response('foo & bar')
    assert resp._response['speech'] == 'foo & bar'
Пример #14
0
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)
Пример #15
0
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():
Пример #16
0
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')
Пример #17
0
from flask_assistant import Assistant

assist = Assistant(route="/apiaiwebhook")
Пример #18
0
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__':
Пример #19
0
# -*- 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():
Пример #20
0
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"
Пример #21
0
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()
Пример #22
0
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()
Пример #23
0
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
Пример #26
0
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)
Пример #27
0
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
Пример #28
0
def test_response_with_speech(mock):
    mock = Assistant(Flask(__name__))
    resp = _Response('foobar')
    assert resp._response['speech'] == 'foobar'
Пример #29
0
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')
Пример #30
0
def test_response_with_None_speech(mock):
    mock = Assistant(Flask(__name__))
    resp = _Response(None)
    assert resp._response['speech'] is None