Exemple #1
0
    suggests = await get_suggests(user_id)
    return alice_request.response('Привет! Купи слона!', buttons=suggests)


# Пользователь соглашается - команда соответствует одному из слов:
@dp.request_handler(commands=['ладно', 'куплю', 'покупаю', 'хорошо', 'окей'])
async def handle_user_agrees(alice_request):
    # Отвечаем пользователю, что слона можно купить на Яндекс.Маркете
    # Ответ генерируется автоматически на основе запроса,
    # туда подставляются сессия и версия апи.
    # Текст ответа - единственный необходимый параметр
    # Кнопки передаем по ключевому слову.
    return alice_request.response(
        f'Слона можно найти на Яндекс.Маркете!\n{ele_link}')


# Все остальные запросы попадают в этот хэндлер, так как у него не настроены фильтры
@dp.request_handler()
async def handle_all_other_requests(alice_request):
    # Всеми силами убеждаем пользователя купить слона,
    # предлагаем варианты ответа на основе текста запроса
    requst_text = alice_request.request.original_utterance
    suggests = await get_suggests(alice_request.session.user_id)
    return alice_request.response(
        f'Все говорят "{requst_text}", а ты купи слона!', buttons=suggests)


if __name__ == '__main__':
    app = get_new_configured_app(dispatchers=dp)
    web.run_app(app, host=WEBAPP_HOST, port=WEBAPP_PORT)
Exemple #2
0
import os
import dotenv
import logging
from dotenv import load_dotenv
from aiohttp import web
from aioalice import Dispatcher, get_new_configured_app

#Setting logging

#initializing environment variables
dotenv_path = os.path.join(os.path.dirname(__file__,), '.env')
if os.path.exists(dotenv_path):
    load_dotenv(dotenv_path)

WEBHOOK_URL_PATH = os.getenv('WEBHOOK_URL_PATH')
WEBAPP_HOST = os.getenv('WEBAPP_HOST')
WEBAPP_PORT = os.getenv('WEBAPP_PORT')

#Setting basic dispatcher
dp = Dispatcher()
@dp.request_handler()
async def handle_all_requests(alice_request):
    return alice.request.response('Hello world!')
if __name__ == '__main__':
    app = get_new_configured_app(dispatcher=dp, path=WEBHOOK_URL_PATH)
    web.run_app(app, host=WEBAPP_HOST, port=WEBAPP_PORT)
Exemple #3
0
from aiohttp import web
from aioalice import Dispatcher, get_new_configured_app

WEBAPP_HOST = 'localhost'
WEBAPP_PORT = 3001

dp_first = Dispatcher(name="first", path="/first")

dp_second = Dispatcher(name="second", path="/second")


@dp_first.request_handler()
async def handle_all_requests(alice_request):
    return alice_request.response('Привет! Я первый навык')


@dp_second.request_handler()
async def handle_all_requests(alice_request):
    return alice_request.response("Приятно познакомится, я второй навык")


if __name__ == '__main__':
    app = get_new_configured_app(dispatchers=[dp_first, dp_second])
    web.run_app(app, host=WEBAPP_HOST, port=WEBAPP_PORT)