def do_send_message(receiver_ids, sender_id, content, item_id=None): """ Send message to one or more followers. """ if len(receiver_ids) == 0: return "收件人为空,或没有关注你!" if not content.strip() and not item_id: return "发送内容不能为空!" if len(content) > 500: return "回复内容不能超过500个字符。" for receiver_id in receiver_ids: receiver_id = long(receiver_id) try: receiver = Profile.objects.get(pk=receiver_id) if receiver_id != sender_id: User_User.objects.get(follower=receiver_id, followed=sender_id) message = Message(content=content, date=datetime.datetime.now()) message.receiver_id = receiver_id message.sender_id = sender_id if item_id: message.item_id = item_id message.save() receiver.message_count += 1 receiver.save() except Profile.DoesNotExist: return "收件人不存在!" except User_User.DoesNotExist: return "收件人" + receiver.name + "没有关注你,不能发站内信哦!" return "success"
def on_data(self, data): message = json.loads(data) print message if 'text' in message: tweet = re.search("(#\S+)", str(message['text'])) hashtag = tweet.group(1) print hashtag print self.pubnub.publish({ 'channel': hashtag, 'message': { 'message': str(message['text']) } }) wall = Wall.objects.filter(hashtag__iexact=hashtag) if len(wall) > 0: message2 = Message() message2.message = str(message['text']) message2.hashtag = hashtag message2.twitter_account = str(message['user']['screen_name']) message2.wall = wall[0] print "Saving message" message2.save() else: print message return True
def create_message(request, s_id): if request.method == 'POST': service_obj = get_object_or_404(service, service_id=s_id) message_text = request.POST.get('msg') response_data = {} message = Message(content=message_text, user=request.user, service=service_obj) message.save() print(message) response_data['result'] = 'Create post successful!' response_data['pk'] = message.pk response_data['content'] = message.content response_data['timestamp'] = timezone.localtime( timezone.now()).strftime('%B %d, %Y %I:%M %p') response_data['user'] = message.user.username return HttpResponse(json.dumps(response_data), content_type="application/json") else: return HttpResponse(json.dumps( {"nothing to see": "this isn't happening"}), content_type="application/json")
def form(request): """Page with feedback form.""" grp = get_info(request) error = '' name = '' email = '' message = '' ans = 'no' answers = [] if request.user.is_authenticated(): name = request.user.first_name email = request.user.email msgs = Message.objects.filter(name=request.user.first_name) for msg in msgs: if msg.answer != '': answers.append({'message': msg.text, 'answer': msg.answer}) if len(answers) > 0: ans = 'yes' if request.method == "POST": try: name = request.POST['Name'] email = request.POST['Email'] message = request.POST['Message'] em = re.compile( r'^[a-zA-Z0-9._%-]+@[a-zA-Z0-9._%-]+\.[a-zA-Z]{2,6}$') if name == '' or email == '' or message == '' or name == 'Name' or message == 'Your message': raise Exception('Some of the fields are empty.') elif len(name) > 29: raise Exception('Name is too long.') elif not em.match(email): raise Exception('Email is not valid.') elif len(message) < 6: raise Exception('Your message is too short.') except Exception as ex: error = ex else: submit_date = datetime.now() user_ip = get_ip(request) if request.user.is_authenticated(): usr = User.objects.get(username=request.user.username) usr.first_name = name usr.save() sub = Message(name=name, email=email, text=message, ip_address=str(user_ip), add_date=submit_date) sub.save() return HttpResponseRedirect(reverse('thx', args=(name, ))) return render( request, 'main/form.html', { 'error_message': error, 'name': name, 'email': email, 'message': message, 'ans': ans, 'answers': answers, 'group': grp })
def forum(request): if request.method == 'POST': text = request.POST.get('input_message', '') if text: new_message = Message() new_message.text = text new_message.save() messages = Message.objects.all() return render(request, 'forum.html', {'messages': messages})
def createNewProjectTeamMessage(project_team): title = 'Zaproszenie do grupa projektowa' text = 'Czy chcesz zaakceptować zaproszenie do grupy projektu: ' + project_team.project.name + '\n' text += "Członkowie grupy: \n" for student in project_team.studentuser_set.all(): text += student.profile.first_name + ' ' + student.profile.last_name + '\n' message = Message(title=title, text=text) message.save() return message
def forum(request): if request.method == 'POST': message = Message( text=request.POST['message'], author=request.user, date=timezone.now()) message.save() return HttpResponseRedirect("/forum") # Helps refreshing messages = Message.objects.all() return render(request, 'main/forum.html', {'messages': messages})
def form(request): """Page with feedback form.""" grp = get_info(request) error = '' name = '' email = '' message = '' ans = 'no' answers = [] if request.user.is_authenticated(): name = request.user.first_name email = request.user.email msgs = Message.objects.filter(name=request.user.first_name) for msg in msgs: if msg.answer != '': answers.append({'message':msg.text, 'answer':msg.answer}) if len(answers) > 0: ans = 'yes' if request.method == "POST": try: name = request.POST['Name'] email = request.POST['Email'] message = request.POST['Message'] em = re.compile(r'^[a-zA-Z0-9._%-]+@[a-zA-Z0-9._%-]+\.[a-zA-Z]{2,6}$') if name == '' or email == '' or message == '' or name == 'Name' or message == 'Your message': raise Exception('Some of the fields are empty.') elif len(name) > 29: raise Exception('Name is too long.') elif not em.match(email): raise Exception('Email is not valid.') elif len(message) < 6: raise Exception('Your message is too short.') except Exception as ex: error = ex else: submit_date = datetime.now() user_ip = get_ip(request) if request.user.is_authenticated(): usr = User.objects.get(username = request.user.username) usr.first_name = name usr.save() sub = Message(name = name, email = email, text = message, ip_address = str(user_ip), add_date=submit_date) sub.save() return HttpResponseRedirect(reverse('thx', args=(name,))) return render(request, 'main/form.html', { 'error_message':error, 'name':name, 'email':email, 'message':message, 'ans':ans, 'answers':answers, 'group':grp })
def post(self, request): if self.request.user.is_staff: team = Team.objects.get(pk=int(self.request.GET['team'])) message = Message(team=team, text=request.POST["msg"], judges=True) message.save() else: team = get_team(self.request.user) if team is not None: message = Message(team=team, text=request.POST["msg"], judges=False) message.save() return self.get(request)
def send_message(message_to, message_from, message_text, type_of_message): """ This function allows you to send a notification to a particular user. Must specify a FingrUser to, from, as well as the message itself. In the future we will probably need to add a type of message such as alert, or something like that """ user_to = message_to message = Message(text=message_text, sentFrom=message_from, type=type_of_message, sentTo=user_to) message.save() user_to.save() user_to.messages.add(message) message_from.save() message_from.messages.add(message)
def do_echo(update: Update, context: CallbackContext): chat_id = update.message.chat_id text = update.message.text p, _ = Profile.objects.get_or_create(external_id=chat_id, defaults={ 'name': update.message.from_user.username, }) m = Message( profile=p, text=text, ) m.save() reply_text = f"Your ID: {chat_id}\nMessage ID: {m.pk}\n{text}" update.message.reply_text(text=reply_text, )
def newMessage(request, user_id="0"): if request.method == 'POST': f = forms.MessageForm(request.POST) if f.is_valid(): message = Message() message.subject = f.cleaned_data['subject'] message.content = f.cleaned_data['content'] message.date_created = datetime.now() message.user_to = User.objects.get(login=f.cleaned_data['user_to']) try: message.user_from = User.objects.get(login=request.session['login']) except: return redirect('/') message.save() return redirect('/') else: f = forms.MessageForm userID = int(user_id) if userID > 0: user = User.objects.get(id=userID) f = forms.MessageForm(initial={'user_to' : user.login}) return render_to_response('new_message.html', RequestContext(request, {'formset': f}))
def do_reply(receiver_id, reply_to_id, sender_id, content): """Reply a message""" if not content.strip(): return "回复内容不能为空!" if len(content) > 500: return "回复内容不能超过500个字符。" # The best way is check in browser using js try: receiver = Profile.objects.get(pk=receiver_id) main_msg = Message.objects.get(pk=reply_to_id) if main_msg.sender_id != sender_id and main_msg.receiver_id != sender_id: return "回复失败" new_message = Message(content=content, date=datetime.datetime.now()) new_message.receiver_id = receiver_id new_message.sender_id = sender_id new_message.reply_to_id = reply_to_id new_message.save() if main_msg.deleted_by_receiver: count = Message.objects.filter(receiver=receiver_id, unread=True, reply_to=Message(reply_to_id)).count() if main_msg.unread: count += 1 receiver.message_count += count receiver.save() main_msg.deleted_by_receiver = False elif main_msg.deleted_by_sender: count = Message.objects.filter(receiver=receiver_id, unread=True, reply_to=Message(reply_to_id)).count() receiver.message_count += count receiver.save() main_msg.deleted_by_sender = False else: receiver.message_count += 1 receiver.save() main_msg.save() Message.objects.filter(reply_to=Message(reply_to_id)).update(deleted_by_receiver=False, deleted_by_sender=False) return "success" except Profile.DoesNotExist: return "收件人不存在!" except Message.DoesNotExist: return "回复的信件不存在!"
def forum(request): if request.method == 'POST': message = Message(text = request.POST.get('messagetext', '')) message.save() messages = Message.objects.all() return render(request, 'forum.html', {'messages': messages})
def contact1(request): p = Message(subject='Test_subj', message='Test_message', email='*****@*****.**') p.save() return HttpResponseRedirect('/contact/')
def forum(request): if request.method == 'POST': message = Message(text=request.POST.get('messagetext', '')) message.save() messages = Message.objects.all() return render(request, 'forum.html', {'messages': messages})