Пример #1
0
    def unify_update(self, event: Event, payload: str = None) -> Update:
        """
        Create the internal `Update` type from facebook's `Event`
        """
        ud = Update()
        ud.original_update = event
        ud.client_name = self.client_name
        ud.message_id = event.message_mid
        ud.datetime = datetime.datetime.fromtimestamp(event.timestamp / 1000.0)

        ud.payload = payload

        ud.user, created = User.get_or_create(facebook_id=event.sender_id)
        if created:
            ud.user.save()

        if event.message_attachments:
            try:
                voice = next(x for x in event.message_attachments if x.get('type') == 'audio')
                ud.voice_id = voice['payload']['url']
            except StopIteration:
                pass

        if hasattr(event, 'message_text'):
            ud.message_text = event.message_text
        return ud
Пример #2
0
def add_updates():
    """Adds fake updates to the system"""

    current_users = db.session.query(User.user_id).all()
    for i in range(5000):
        update = Update(user_id=random.choice(current_users),
                        update_body=faker.text(max_nb_chars=140),
                        posted_at=datetime.now())
        db.session.add(update)
        db.session.commit()
Пример #3
0
def submit_update(user_id, body):
    """Creates an update object with the text body and user_id passed in"""

    update = Update(user_id=user_id,
                    update_body=body,
                    posted_at=datetime.now())

    db.session.add(update)
    db.session.commit()

    return update.update_id
    def say(self, text):
        update = Update()
        update.message_text = text
        update.message_id = self.msg_count
        update.datetime = datetime.datetime.now()
        update.user = self.user

        with warnings.catch_warnings():
            warnings.simplefilter("ignore")
            self.nlp.insert_understanding(update)
        context = self.context_manager.add_incoming_update(update)

        next_response = self.planning_agent.build_next_actions(context)

        actions = next_response.collect_actions()

        context.add_actions(actions)

        self.msg_count += 1
        return actions
Пример #5
0
import sqlite3
from flask import Flask, render_template
from threading import Thread
from model import Update

html_name = 'index.html'
database_name = 'database.db'
app = Flask(__name__)


@app.route('/')
def index():
    conn = sqlite3.connect(database_name)
    conn.row_factory = sqlite3.Row
    points = conn.execute('SELECT * FROM points').fetchall()
    conn.close()
    return render_template(html_name, points=points)


if __name__ == "__main__":
    thread1 = Thread(target=app.run)
    thread2 = Thread(target=Update().update_24)

    thread1.start()
    thread2.start()
    thread1.join()
    thread2.join()