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'
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
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')
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)
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)
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(), '-- 開頭的名字為系統保留禁止使用')
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)
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')
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/')
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()
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
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])
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
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 已刪除')
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")
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)
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,請上傳圖片或圖片連結')
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(提醒: 不能刪除別人的圖片,也不能刪除其他聊天室的圖片)')
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 的圖片"))
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))
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)
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')
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')
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)
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
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')
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()])
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"}
def getListChatRecentsOfAdmin(): if session["type_account"] == "admin": return app.response_class(json.dumps( Chat().getListChatRecentsOfAdmin()), mimetype='application/json')
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:
def handle_text(event): chat = Chat(event, is_image_event=False) Bot(chat) del chat