Exemplo n.º 1
0
    def post(self):

        author = users.get_current_user()
        author_ip = self.request.remote_addr
        artkeystr = self.request.get('articleId')
        artkey = db.Key(artkeystr.strip())
        text = self.request.get('text').strip()
        parentidstr = self.request.get('parentId')

        if parentidstr.strip() == '':
            parent_chat = None
            art = artkey
        else:
            parent_chat = Chat.get_by_id(int(parentidstr))
            art = None

        chat = Chat(author=author,
                    author_ip=author_ip,
                    art=art,
                    text=text,
                    parent_chat=parent_chat)

        if chat:
            chat.put()
            self.get(artkey.name())
        else:
            print 'Content-Type: text/plain'
            print ''
            print 'Failed'
Exemplo n.º 2
0
  def post(self):

    author = users.get_current_user()
    author_ip = self.request.remote_addr
    artkeystr = self.request.get('articleId')
    artkey = db.Key(artkeystr.strip())
    text = self.request.get('text').strip()
    parentidstr = self.request.get('parentId')

    if parentidstr.strip() == '':
      parent_chat = None
      art = artkey
    else:
      parent_chat = Chat.get_by_id(int(parentidstr))
      art = None

    chat = Chat(author=author,
                author_ip=author_ip,
                art=art,
                text=text,
                parent_chat=parent_chat)

    if chat:
      chat.put()
      self.get(artkey.name())
    else:
      print 'Content-Type: text/plain'
      print ''
      print 'Failed'
Exemplo n.º 3
0
def add_chat(name: str, members: Union[Iterable[str], str], creator_id: int, session: Optional[Session] = None) -> int:
    if session is None:
        session = create_session()
    chat = Chat()
    chat.name = name
    if isinstance(members, list):
        members = ';'.join(map(str, members))
    chat.members = members
    chat.creator_id = creator_id
    session.add(chat)
    session.commit()
    return chat.id
Exemplo n.º 4
0
def getMessages(usernameChatTo, numPage):
    if "type_account" not in session or session["type_account"] == "renter":
        return
    if session["type_account"] == "owner":
        return app.response_class(json.dumps(Chat().getMessages(
            "admin", session["username"], numPage)),
                                  mimetype='application/json')
    elif session["type_account"] == "admin":
        session["usernameOwnerChating"] = usernameChatTo
        return app.response_class(json.dumps(Chat().getMessages(
            usernameChatTo, "admin", numPage)),
                                  mimetype='application/json')
Exemplo n.º 5
0
    def post(self, form):
        '''Create new Chat object, populate it, save and render new chats list'''
        chat = Chat()
        form.populate_obj(chat)
        chat.user_id = self.user_id
        db.add(chat)
        db.commit()

        #re-render block with chats
        user_in_chats = ChatUser.get_user_chats(self.user_id)
        chats = db.query(Chat).all()
        self.render_to_response("chat/chats_list.html", chats=chats, user_in_chats=user_in_chats)
Exemplo n.º 6
0
def sendMessage(data):
    # data: {"message": "xxxx"}
    # room lưu ở session
    if session["type_account"] == "owner":
        room = session["username"]
        emit("roomMessage",
             Chat().sendMessage(data["message"], session["username"], "true"),
             room=room)
    elif session["type_account"] == "admin":
        room = session["usernameOwnerChating"]
        emit("roomMessage",
             Chat().sendMessage(data["message"],
                                session["usernameOwnerChating"], "false"),
             room=room)
Exemplo n.º 7
0
 def test_set_pic_name_with_invalid_name(self):
     self.event.source.user_id = 'test_123'
     self.event.source.group_id = 'test_group'
     self.event.message.text = '#--pic_name_list#'
     chat = Chat(self.event, is_image_event=False)
     bot = Bot(chat, debug=True)
     self.assertEqual(bot.test_func(), '-- 開頭的名字為系統保留禁止使用')
Exemplo n.º 8
0
 def test_get_help(self):
     self.event.source.user_id = 'test_123'
     self.event.source.group_id = 'test_group'
     self.event.message.text = '--help'
     chat = Chat(self.event, is_image_event=False)
     bot = Bot(chat, debug=True)
     self.assertEqual(bot.test_func(), HELP_CONTENT)
Exemplo n.º 9
0
 def test_send_pic_back(self):
     self.event.source.user_id = 'test_123'
     self.event.source.group_id = 'test_group'
     self.event.message.text = 'I will find you'
     chat = Chat(self.event, is_image_event=False)
     bot = Bot(chat, debug=True)
     self.assertEqual(bot.test_func(), 'https://i.imgur.com/ri8FJaY.jpg')
Exemplo n.º 10
0
 def test_reply_pic_name_list(self):
     self.event.source.user_id = 'test_123'
     self.event.source.group_id = 'test_group'
     self.event.message.text = '--list'
     chat = Chat(self.event, is_image_event=False)
     bot = Bot(chat, debug=True)
     self.assertEqual(bot.test_func()[:20], 'https://i.imgur.com/')
Exemplo n.º 11
0
def stats(bot, update):
    if "Haro" in update.message.text and "?" in update.message.text:
        update.message.reply_text('Haro figyel! Haro figyel!')

    user = User(
        update.message.from_user.id,
        update.message.from_user.first_name,
        update.message.from_user.last_name,
        update.message.from_user.username
    )
    user = session.merge(user)
    session.add(user)

    chat = Chat(
        update.message.chat_id,
        update.message.chat.title if update.message.chat.title else update.message.chat.type,
    )
    chat = session.merge(chat)
    session.add(chat)

    user_activity = UserActivity(
        user,
        chat,
        update.message.date
    )
    session.add(user_activity)
    session.commit()
Exemplo n.º 12
0
def demande_animal():
    choix = int(input("- Choix animal (1 - Chat, 2 - Chien) :"))
    print()

    nom = input("Nom : ")
    poids = float(input("Poids : "))
    taille = float(input("Taille : "))
    sexe = input("Sexe (M/F) : ")
    date_query = input("Date de naissance (YYYY-MM-DD) : ")
    date_naissance = datetime.date.fromisoformat(date_query)

    if choix == 1:
        caractere = input("Caractere : ")
        type_poils = input("Type de poils (Long/Court)")
        poils_long = type_poils.upper() == "LONG"

        animal = Chat(nom, poids, taille, sexe, date_naissance, poils_long,
                      caractere)
    else:
        collier = input("Couleur collier : ")
        race = input("Race : ")
        dressage = input("Est dressé (Oui/Non): ")
        est_dresse = dressage.upper() == "OUI"

        animal = Chien(nom, poids, taille, sexe, date_naissance, collier, race,
                       est_dresse)
    return animal
Exemplo n.º 13
0
 def find_chat(self, chat_id):
     self.db.ping(True)
     query = f"""SELECT * FROM chats WHERE chat_id={chat_id} """
     if self.cursor.execute(query) == 0:
         return None
     chat_db = self.cursor.fetchone()
     return Chat(chat_id=chat_db[1], title=chat_db[2], chat_type=chat_db[3])
Exemplo n.º 14
0
def chatre():
    u = current_user()
    form = request.get_json()
    print('!!friend chatre form', form)
    t = Chat.chatall(u.user_id, form['userto'], form['last'])
    return t
    pass
Exemplo n.º 15
0
 def test_delete_pic_with_same_user_same_group(self):
     self.event.source.user_id = 'test_123'
     self.event.source.group_id = 'test_group'
     self.event.message.text = '--delete pic_name_update_test'
     chat = Chat(self.event, is_image_event=False)
     bot = Bot(chat, debug=True)
     self.assertEqual(bot.test_func(), 'pic_name_update_test 已刪除')
Exemplo n.º 16
0
    def post(self):
        user = users.get_current_user()

        if not user:
            return self.write(
                "Please login before you're allowed to post a message.")

        text = self.request.get("text")
        final_text = emoji.emojize(text, use_aliases=True)
        Chat.create(content=final_text, user=user)

        # new_topic = Chat(title=title, content=text, author_email=user.email())
        # new_topic.put()
        #  put() saves the object in Datastore

        return self.redirect_to("chat-page")
Exemplo n.º 17
0
    def get(self):
        csrf_token = str(uuid.uuid4())
        memcache.add(key=csrf_token, value=True, time=600)
        seznam = Chat.query(Chat.deleted == False).order(+Chat.updated).fetch()
        params = {"csrf_token": csrf_token, "seznam": seznam}

        return self.render_template("forum.html", params=params)
Exemplo n.º 18
0
 def test_set_pic_name_with_valid_name_again_after_did_it_before(self):
     self.event.source.user_id = 'test_123'
     self.event.source.group_id = 'test_group'
     self.event.message.text = '#pic_name_update_test#'
     chat = Chat(self.event, is_image_event=False)
     bot = Bot(chat, debug=True)
     self.assertEqual(bot.test_func(),
                      '圖片名稱已更新: pic_name_update_test,請上傳圖片或圖片連結')
Exemplo n.º 19
0
 def test_delete_pic_with_diff_user_diff_group(self):
     self.event.source.user_id = 'test_1234'
     self.event.source.group_id = 'test_group2'
     self.event.message.text = '--delete pic_name_update_test'
     chat = Chat(self.event, is_image_event=False)
     bot = Bot(chat, debug=True)
     self.assertEqual(bot.test_func(),
                      '圖片未刪除\n(提醒: 不能刪除別人的圖片,也不能刪除其他聊天室的圖片)')
Exemplo n.º 20
0
 def test_show_current_mode(self):
     self.event.source.user_id = 'test_123'
     self.event.source.group_id = 'test_group'
     self.event.message.text = '--mode'
     chat = Chat(self.event, is_image_event=False)
     bot = Bot(chat, debug=True)
     self.assertEqual(bot.test_func(),
                      ("[當前模式為]\n" + "chat_mode: 隨機回所有群組創的圖(此為預設)\n"
                       "retrieve_pic_mode: 此功能尚未實作\n"
                       "trigger_chat: 僅回覆字數大於等於 3 的圖片"))
Exemplo n.º 21
0
def add():
    form = request.form
    u = current_user()
    friend_name = form['username']
    friend = User.find_by(username=friend_name)
    m = Message.new(form, sender_id=u.id, receiver_id=friend.id)
    chat_id = m.chat_id
    c = Chat.find_by(chat_id=chat_id)
    if c is None:
        f = {
            'sender_id': m.sender_id,
            'receiver_id': m.receiver_id,
            'chat_id': m.chat_id,
        }
        Chat.new(f)
    else:
        c.updated_time = m.created_time
        c.save()
    return redirect(url_for(".view", friend_name=friend_name))
Exemplo n.º 22
0
def api_lines():
    if request.method == 'GET':
        line_list = []
        lines = Chat.objects()

        for line in lines:
            line_list.append({"user": line.user, "message": line.message})

        # print(line_list)
        return jsonify(line_list)
Exemplo n.º 23
0
 def test_trigger_chat_change(self):
     self.event.source.user_id = 'test_123'
     self.event.source.group_id = 'test_group'
     self.event.message.text = '--mode trigger_chat 1'
     chat = Chat(self.event, is_image_event=False)
     bot = Bot(chat, debug=True)
     self.assertEqual(bot.test_func(), ("trigger_chat 後需設定介於 2~15 的數字"
                                        ",如 --mode trigger_chat 15"))
     self.event.message.text = '--mode trigger_chat ABC'
     chat = Chat(self.event, is_image_event=False)
     bot = Bot(chat, debug=True)
     self.assertEqual(bot.test_func(), ("trigger_chat 後需設定介於 2~15 的數字"
                                        ",如 --mode trigger_chat 15"))
     self.event.message.text = '--mode trigger_chat 4'
     chat = Chat(self.event, is_image_event=False)
     bot = Bot(chat, debug=True)
     self.assertEqual(bot.test_func(), ("僅回覆字數大於等於 4 的圖片"))
     self.event.message.text = 'wtf'
     chat = Chat(self.event, is_image_event=False)
     bot = Bot(chat, debug=True)
     self.assertEqual(bot.test_func(), None)
     self.event.message.text = '--mode trigger_chat 3'
     chat = Chat(self.event, is_image_event=False)
     bot = Bot(chat, debug=True)
     self.assertEqual(bot.test_func(), ("僅回覆字數大於等於 3 的圖片"))
     self.event.message.text = 'wtf'
     chat = Chat(self.event, is_image_event=False)
     bot = Bot(chat, debug=True)
     self.assertEqual(bot.test_func(), 'https://i.imgur.com/mv07XhN.jpg')
Exemplo n.º 24
0
def chat_post():
    chat = Chat(id=request.form['name'],
                name=request.form['name'],
                description=request.form['description'])
    chat.put()
    chat.send_congratulations_email_to(users.get_current_user())
    return redirect('/chats')
Exemplo n.º 25
0
def text(message):
    """Sent by a client when the user entered a new message.
    The message is sent to all people in the room."""
    # room = message.get('channel')
    message['type'] = 'message'
    message['username'] = current_user().username
    message['avatar'] = current_user().avatar
    room = message.get('channel', Channel.default_channel().name)
    print(message)
    # Channel.findByName(room).save_chat(Chat(message))
    chat = {
        'content': message.get('content', ''),
        'user': current_user(),
        'channel': Channel.findByName(room),
    }
    Chat(chat).save()
    join_room(room)
    emit('message', message, broadcast=True)
Exemplo n.º 26
0
def index():
    '''
    用户私信列表
    '''
    receiver_name = request.args.get('receiver_name', '')
    u = current_user()
    chat_ids = Chat.find_chat_ids(u.id)
    log('chat_ids', chat_ids)
    messages = Message.find_list(chat_ids)
    crsf_token = new_csrf_token()
    # 5 个最近无人回复的话题
    ts = Topic.topic_noreply()
    t = render_template(
        "message/index.html",
        user=u,
        messages=messages,
        receiver_name=receiver_name,
        crsf_token=crsf_token,
        ts=ts,
    )
    return t
Exemplo n.º 27
0
 def test_chat_mode_change(self):
     self.event.source.user_id = 'test_123'
     self.event.source.group_id = 'test_group'
     self.event.message.text = '--mode chat_mode A'
     chat = Chat(self.event, is_image_event=False)
     bot = Bot(chat, debug=True)
     self.assertEqual(bot.test_func(), ("chat_mode 後需設定介於 0~2 的數字,"
                                        "如 --mode chat_mode 2"))
     self.event.message.text = '--mode chat_mode 3'
     chat = Chat(self.event, is_image_event=False)
     bot = Bot(chat, debug=True)
     self.assertEqual(bot.test_func(), ("chat_mode 後需設定介於 0~2 的數字,"
                                        "如 --mode chat_mode 2"))
     self.event.message.text = '--mode chat_mode 0'
     chat = Chat(self.event, is_image_event=False)
     bot = Bot(chat, debug=True)
     self.assertEqual(bot.test_func(), '更改聊天模式為: 不回圖')
     self.event.message.text = 'I will find you'
     chat = Chat(self.event, is_image_event=False)
     bot = Bot(chat, debug=True)
     self.assertEqual(bot.test_func(), None)
     self.event.message.text = '--mode chat_mode 2'
     chat = Chat(self.event, is_image_event=False)
     bot = Bot(chat, debug=True)
     self.assertEqual(bot.test_func(), '更改聊天模式為: 只回該群組上傳的圖')
     self.event.message.text = 'I will find you'
     chat = Chat(self.event, is_image_event=False)
     bot = Bot(chat, debug=True)
     self.assertEqual(bot.test_func(), None)
     self.event.message.text = '--mode chat_mode 1'
     chat = Chat(self.event, is_image_event=False)
     bot = Bot(chat, debug=True)
     self.assertEqual(bot.test_func(), '更改聊天模式為: 隨機回所有群組創的圖(此為預設)')
     self.event.message.text = 'I will find you'
     chat = Chat(self.event, is_image_event=False)
     bot = Bot(chat, debug=True)
     self.assertEqual(bot.test_func(), 'https://i.imgur.com/ri8FJaY.jpg')
Exemplo n.º 28
0
def chat_create():
    user_msg = request.json.get('message')
    chat_user = Chat(from_user=True, message=user_msg)
    db.session.add(chat_user)

    question = user_msg.lower()
    answer = random.choice([
        'TARS kurang mengerti maksudmu. Apakah bisa diperjelas?',
        'Maaf, TARS tidak dapat memahami kalimatmu.',
    ])
    for q, a in questions.items():
        if re.match(q.lower(), question):
            answer = a

    chat_bot = Chat(from_user=False, message=answer)
    db.session.add(chat_bot)
    db.session.commit()

    return jsonify([chat_user.serialize(), chat_bot.serialize()])
Exemplo n.º 29
0
def confirmReadMessage(usernameChatTo):
    if session["type_account"] == "owner":
        Chat().confirmReadMessage(session["username"], "false")
    elif session["type_account"] == "admin":
        Chat().confirmReadMessage(usernameChatTo, "true")
    return {"message": "ok"}
Exemplo n.º 30
0
def getListChatRecentsOfAdmin():
    if session["type_account"] == "admin":
        return app.response_class(json.dumps(
            Chat().getListChatRecentsOfAdmin()),
                                  mimetype='application/json')
Exemplo n.º 31
0
def triang(x, y):
    cv2.putText(img, 'Triangulo', (x, y), font, 1, colorf, 2)


def cuadr(x, y):
    cv2.putText(img, 'Rectangulo', (x, y), font, 1, colorf, 2)


def circ(x, y):
    cv2.putText(img, 'Circulo', (x, y), font, 1, colorf, 2)


socket_host = '127.0.0.1'
socket_port = 6000
chat = Chat(socket_host, socket_port)
id_roboto = str(robot.handle)
try:
    if figura == 'cuad':
        fig = 'cubo'
    elif figura == 'triang':
        fig = 'piramide'
    else:
        fig = 'esfera'
    msg = ' recogere figura ' + fig
    response = chat.send_message("#" + id_roboto)
    print(response)
    response = chat.send_message('Soy el robot ' + id_roboto + msg + ' !')
    print(response)

except Exception as error:
Exemplo n.º 32
0
def handle_text(event):
    chat = Chat(event, is_image_event=False)
    Bot(chat)
    del chat