def post(self, request): alert = self.request.data.get('alert', None) extras_data = self.request.data.get('extras', None) production = self.request.data.get('production', True) push = self.my_push push.audience = jpush.all_ ios = jpush.ios(alert=alert, extras=extras_data, badge="+1") android = jpush.android(alert=alert, extras=extras_data) push.notification = jpush.notification(ios=ios, android=android) push.message = jpush.message("hi", extras=extras_data) push.platform = jpush.all_ push.options = { "time_to_live": 86400, "sendno": 12345, "apns_production": production } try: response = push.send() except jpush.common.Unauthorized: raise jpush.common.Unauthorized("Unauthorized") except jpush.common.APIConnectionException: raise jpush.common.APIConnectionException("conn") except jpush.common.JPushFailure: raise ("JPushFailure", ) except: raise ("Exception", ) return Response(response.payload)
def send2(self, msg_content, title, content_type, extras, tag=None, alias=None): """ 增加alias发送方法 by: 尚宗凯 at:2015-04-09 修改alias用法 by: 尚宗凯 at:2015-04-09 ios通知无声 by:尚宗凯 at:2015-04-10 解决ios无法收到推送的问题 by:尚宗凯 at:2015-04-15 修改ios alert内容 by:尚宗凯 at:2015-04-16 修改ios 推送增加字段 by:尚宗凯 at:2015-04-22 修改ios 推送alias by:尚宗凯 at:2015-04-23 增加badge+1 by:尚宗凯 at:2015-04-29 如果alias为空则不发送 by:尚宗凯 at:2015-04-04 极光推送改为+1 by:尚宗凯 at:2015-05-18 """ if not alias: return False self.push_android.platform = "android" self.push_ios.platform = "ios" if ENVIRONMENT == 'aliyun': self.push_ios.options = {"apns_production": True} #生产环境 else: self.push_ios.options = {"apns_production": False} #开发环境 if tag: self.push_android.audience = jpush.audience( # jpush.tag("p_44","p_45") jpush.tag(tag)) self.push_ios.audience = jpush.audience(jpush.tag(tag)) elif alias: self.push_android.audience = jpush.alias(alias) self.push_ios.audience = jpush.alias(alias) # else: # self.push_android.audience = jpush.all_ # self.push_ios.audience = jpush.all_ self.push_android.message = jpush.message(msg_content=msg_content, title=title, content_type=content_type, extras=json.dumps(extras)) self.push_ios.sound_disable = True ios_msg = jpush.ios(alert=u'%s,%s' % (title, msg_content), extras=extras, badge="+1") self.push_ios.notification = jpush.notification(alert=u'%s,%s' % (title, msg_content), ios=ios_msg) self.start()
def AsyncDelCommentPush(topicId, senderId, communityId, commentId, commentCount): config = readIni() tagSuffix = config.get('topic', "tagSuffix") pushContent = str(topicId).encode('utf-8') + ":" \ +str(senderId).encode('utf-8') + ":" \ +str(communityId).encode('utf-8') + ":" \ +str(commentId).encode('utf-8') + ":" \ +str(commentCount).encode('utf-8') tagSuffix = config.get('topic', "tagSuffix") tagNormalName = tagSuffix + str(communityId) tagSuffix = config.get('report', "tagSuffix") tagAdminName = tagSuffix + str(communityId) tagSuffix = config.get('property', "tagSuffix") tagPropertyName = tagSuffix + str(communityId) apiKey = config.get("SDK", "apiKey") secretKey = config.get("SDK", "secretKey") _jpush = jpush.JPush(apiKey, secretKey) push = _jpush.create_push() push.audience = jpush.all_ push.audience = jpush.audience( jpush.tag(tagNormalName, tagAdminName, tagPropertyName), ) push.message = jpush.message(pushContent, u"push_del_comm", None, None) push.options = { "time_to_live": 0, "sendno": 9527, "apns_production": PUSH_STATUS } push.platform = jpush.all_ push.send()
def send(self, msg_content, title, content_type, extras, tag=None): # self.push_android = _jpush.create_push() # self.push_ios = _jpush.create_push() # self.push.platform = jpush.all_ self.push_android.platform = "android" self.push_ios.platform = "ios" if tag: self.push_android.audience = jpush.audience( # jpush.tag("p_44","p_45") jpush.tag(tag) ) self.push_ios.audience = jpush.audience( jpush.tag(tag) ) else: self.push_android.audience = jpush.all_ self.push_ios.audience = jpush.all_ self.push_android.message = jpush.message(msg_content=msg_content, title=title, content_type=content_type, extras=json.dumps(extras)) self.push_ios.notification = jpush.notification(alert=msg_content) try: if PUSH_ON: self.push_android.send() self.push_ios.send() except Exception as e: print e
def push_message(tags, message, platform=jpush.all_, extras=None): push.audience = jpush.all_ if tags == jpush.all_ else jpush.audience( {"tag": tags}) push.notification = jpush.notification( alert=message, ios=jpush.ios(message, extras=extras), android=jpush.android(message, extras=extras), winphone=jpush.winphone(message, extras=extras)) push.message = jpush.message(message, extras=extras) push.platform = platform try: response = push.send() except jpush.common.Unauthorized as e: logging.error("JPush Unauthorized: %s" % str(e)) except jpush.common.APIConnectionException as e: logging.error("JPushconn error: %s" % str(e)) except jpush.common.JPushFailure as e: logging.error("JPush Failure: %s" % str(e)) except Exception as e: raise e else: logging.info(response.payload) if response.status_code == 200 and response.payload['sendno'] == '0': return True return False
def pushMessage(self, audience, message_dict): try: push = self._jpush.create_push() if not audience: raise JpushException('audience is empty', self.JPUSH_AUDIENCE_EMPTY) if audience == 'all': push.audience = jpush.all_ else: push.audience = jpush.audience( jpush.alias(*audience) ) #android_msg = jpush.android(alert="Hello, android msg") if not message_dict: raise JpushException('message_dict is empty', self.MESSAGE_DICT_EMPTY) alert_message = message_dict.get('content', '') if not alert_message: raise JpushException('message_content is empty', self.MESSAGE_CONTENT_EMPTY) msg_content = json.dumps(message_dict) push.message = jpush.message(msg_content=msg_content) push.platform = jpush.all_ return push.send() except jpush.common.JPushFailure, e: print e return False
def send(self, msg_content, title, content_type, extras, tag=None): # self.push_android = _jpush.create_push() # self.push_ios = _jpush.create_push() # self.push.platform = jpush.all_ self.push_android.platform = "android" self.push_ios.platform = "ios" if tag: self.push_android.audience = jpush.audience( # jpush.tag("p_44","p_45") jpush.tag(tag)) self.push_ios.audience = jpush.audience(jpush.tag(tag)) else: self.push_android.audience = jpush.all_ self.push_ios.audience = jpush.all_ self.push_android.message = jpush.message(msg_content=msg_content, title=title, content_type=content_type, extras=json.dumps(extras)) self.push_ios.notification = jpush.notification(alert=msg_content) try: if PUSH_ON: self.push_android.send() self.push_ios.send() except Exception as e: print e
def send_message(self, message, alias=None, **kwargs): if alias is not None: self.push.audience = jpush.audience(jpush.alias(*alias)) self.push.message = jpush.message(msg_content=message, extras=kwargs) self.push.platform = jpush.platform('android', 'ios') self.push.send()
def platfrom_msg(): push = _jpush.create_push() push.audience = jpush.all_ ios_msg = jpush.ios(alert="Hello, IOS JPush!", badge="+1", sound="a.caf", extras={'k1':'v1'}) android_msg = jpush.android(alert="Hello, android msg") push.notification = jpush.notification(alert="Hello, JPush!", android=android_msg, ios=ios_msg) push.message=jpush.message("content",extras={'k2':'v2','k3':'v3'}) push.platform = jpush.all_ push.send()
def send_tip(request): # save tip # notify receiver data = {} if request.method=='POST': logger.debug(str(request.POST)) mobile=request.POST.get('mobile') friend=request.POST.get('friend_mobile') try: client = User.objects.get(username=mobile) to_friend = User.objects.get(username=friend) to_friend_info = UserInfo.objects.get(user=to_friend) except ObjectDoesNotExist: logger.debug("user or friend do not exist!") data['status']=28 data['error']='user have not register' return HttpResponse(json.dumps(data,ensure_ascii=False),content_type='application/json') content=request.POST.get('message') create_time=request.POST.get('create_time') audio_url=request.POST.get('audio_url') photo_url=request.POST.get('photo_url') tip = Tip(user=client) tip.receiver = friend tip.message = content tip.create_time = create_time if 'photo_file' in request.FILES: photo_name = request.FILES['photo_file']._get_name() tip.photo.save(photo_name, request.FILES['photo_file']) if 'audio_file' in request.FILES: audio_name = request.FILES['audio_file']._get_name() tip.audio.save(audio_name, request.FILES['audio_file']) tip.save() # retrieve tip id for next to get cacheID = tip.id push_target = to_friend_info.imsi _jpush = jpush.JPush(app_key, master_secret) push = _jpush.create_push() push.audience = jpush.audience( jpush.tag(push_target) ) push_data = {} push_data['from'] = mobile push_data['id'] = cacheID push.message = jpush.message(msg_content=302, extras=json.dumps(push_data,ensure_ascii=False)) push.platform = jpush.all_ push.send() data['status']=0 return HttpResponse(json.dumps(data,ensure_ascii=False),content_type='application/json')
def test_message(self): msg = message("hello world") sms_msg = sms_message("content", 20) noti = notification(alert="hello,jpush") self.push.notification = noti self.push.platform = platform("all") self.push.audience = audience(**{"tag": tag("tcc", "all")}) self.push.message = msg self.push.sms_message = sms_msg self.push.send_validate()
def main(): push = _jpush.create_push() #print dir(push) push.audience = jpush.all_ #print dir(push.message) #android_msg = jpush.android(alert="Hello, android msg") push.message = jpush.message("F*****g Message", title="Hello") push.platform = jpush.all_ push.send()
def send2(self, msg_content, title, content_type, extras, tag=None, alias=None): """ 增加alias发送方法 by: 尚宗凯 at:2015-04-09 修改alias用法 by: 尚宗凯 at:2015-04-09 ios通知无声 by:尚宗凯 at:2015-04-10 解决ios无法收到推送的问题 by:尚宗凯 at:2015-04-15 修改ios alert内容 by:尚宗凯 at:2015-04-16 修改ios 推送增加字段 by:尚宗凯 at:2015-04-22 修改ios 推送alias by:尚宗凯 at:2015-04-23 增加badge+1 by:尚宗凯 at:2015-04-29 如果alias为空则不发送 by:尚宗凯 at:2015-04-04 极光推送改为+1 by:尚宗凯 at:2015-05-18 """ if not alias: return False self.push_android.platform = "android" self.push_ios.platform = "ios" if ENVIRONMENT == 'aliyun': self.push_ios.options = {"apns_production":True} #生产环境 else: self.push_ios.options = {"apns_production":False} #开发环境 if tag: self.push_android.audience = jpush.audience( # jpush.tag("p_44","p_45") jpush.tag(tag) ) self.push_ios.audience = jpush.audience( jpush.tag(tag) ) elif alias: self.push_android.audience = jpush.alias( alias ) self.push_ios.audience = jpush.alias( alias ) # else: # self.push_android.audience = jpush.all_ # self.push_ios.audience = jpush.all_ self.push_android.message = jpush.message(msg_content=msg_content, title=title, content_type=content_type, extras=json.dumps(extras)) self.push_ios.sound_disable=True ios_msg = jpush.ios(alert=u'%s,%s'%(title, msg_content), extras=extras, badge="+1") self.push_ios.notification = jpush.notification(alert=u'%s,%s'%(title, msg_content), ios=ios_msg) self.start()
def AsyncForcedReturn(): config = readIni() ListApkInfo = [] from core.settings import NEW_VERSION_URL from web.models import APK QuerySet = APK.objects.filter().order_by('-v_id')[:1] apkObj = QuerySet[0] valCode = apkObj.v_name valSize = str(apkObj.v_size) + 'MB' valURL = NEW_VERSION_URL valForce = apkObj.v_force function = apkObj.v_function bug = apkObj.v_bug dicts = {} dicts.setdefault('fun',function) dicts.setdefault('bug',bug) ListApkInfo.append(dicts) response_data = {} response_data['flag'] = 'ok' response_data['vcode'] = valCode response_data['size'] = valSize response_data['url'] = valURL response_data['srv_url'] = 'none' response_data['force'] = valForce response_data['detail'] = ListApkInfo pushContent = response_data apiKey = config.get("SDK", "apiKey") secretKey = config.get("SDK", "secretKey") tagSuffixWithTopic = config.get('topic', "tagSuffix") tagSuffixWithReport = config.get('report', "tagSuffix") tagSuffixWithProperty = config.get('property', "tagSuffix") _jpush = jpush.JPush(apiKey,secretKey) from addrinfo.models import Community commQuerySet = Community.objects.all() for i in range(0,commQuerySet.count(),1): commId = commQuerySet[i].getCommunityId() tagNormalName = tagSuffixWithTopic + str(commId) tagAdminName = tagSuffixWithReport+str(commId) tagPropertyName = tagSuffixWithProperty+str(commId) push = _jpush.create_push() push.audience = jpush.all_ push.audience = jpush.audience( jpush.tag(tagNormalName,tagAdminName,tagPropertyName), ) push.message = jpush.message( pushContent, u"push_force_return", None, None ) push.options = {"time_to_live":0, "sendno":9527, "apns_production":PUSH_STATUS} push.platform = jpush.all_ push.send()
def sendPush2multi(text, alias_list): push = _jpush.create_push() alias_dict = {"alias": alias_list} push.audience = jpush.audience(alias_dict) push.notification = jpush.notification(alert=text, ) push.platform = jpush.all_ push.message = jpush.message("msg", extras={'img_url': 'img_url'}) # print(push.payload) res = push.send() g_stdlogging.info("[send2multi]%s %s %s %s" % (text, push.payload, alias_list, res))
def push_message_to_alias(content, msg_type, alias, platform='android'): msg = { 'msg_type': msg_type, 'content': content } _jpush = jpush.JPush(app.config['JPUSH_APP_KEY'], app.config['JPUSH_MASTER_SECRET']) push = _jpush.create_push() push.message = jpush.message(json.dumps(msg)) push.audience = jpush.audience(jpush.alias(alias)) push.platform = jpush.platform(platform) ret = push.send() return ret.payload['sendno'].encode('utf-8')
def send_direct_to_channel(channel): developer = get_developer() if developer is None: return jsonify({}), 404 channel_to_post = Channel.query.filter_by(developer_id=developer.id,channel=channel).first() print(channel_to_post) if channel_to_post is None: return jsonify({}), 404 message_url = "" if 'url' in request.json: message_url = request.json['url'] _jpush = jpush.JPush(u'1c29cb5814072b5b1f8ef829', u'b46af6af73ee8f9480d4edad') push = _jpush.create_push() _jpush.set_logging("DEBUG") push.audience = jpush.audience( jpush.tag(developer.dev_key + '_' + channel) ) android_msg = jpush.android(alert=request.json['title'], extras={'title': request.json['title'], 'message': request.json['message']}) ios_msg = jpush.ios(alert=request.json['title'], extras={'title': request.json['title'], 'message': request.json['message']}) push.notification = jpush.notification(alert=request.json['title'], android=android_msg, ios=ios_msg) push.message = jpush.message(msg_content=request.json['message'], title=request.json['title'], content_type="tyope", extras={'dev_key': developer.dev_key, 'channel': channel, 'datetime': int(time.time()), 'icon': "", 'url': message_url, 'integration_name': ""}) # push.options = {"time_to_live": 864000, "sendno": 12345, "apns_production": False} push.options = {"time_to_live": 864000, "sendno": 12345, "apns_production": True} push.platform = jpush.all_ try: response = push.send() print(response) except common.Unauthorized: print("Unauthorized") return jsonify({'error': 'Unauthorized request'}), 401 except common.APIConnectionException: print('connect error') return jsonify({'error': 'connect error, please try again later'}), 504 except common.JPushFailure: print("JPushFailure") response = common.JPushFailure.response return jsonify({'error': 'JPush failed, please read the code and refer code document'}), 500 except: print("Exception") return jsonify({}), 200
def sendPush2all(text): push = _jpush.create_push() # if you set the logging level to "DEBUG",it will show the debug logging. push.audience = jpush.all_ push.notification = jpush.notification(alert=text) push.platform = jpush.all_ push.message = jpush.message("msg", extras={'img_url': 'img_url'}) try: response = push.send() g_stdlogging.info("[sendPush2all]%s %s" % (text, response)) except common.Unauthorized: raise common.Unauthorized("Unauthorized") except common.APIConnectionException: raise common.APIConnectionException("conn error")
def push_msg(*, alias: str, msg: dict): try: jpush_ = jpush.JPush(_app_key, _master_secret) push = jpush_.create_push() push.audience = jpush.audience(jpush.alias(alias)) msg = json.dumps(msg) push.message = jpush.message(msg_content=msg) push.platform = jpush.all_ push.send() #terrible except JPushFailure: raise PushError except Unauthorized: raise PushError
def AsyncDelBlackList(user_id,black_user_id): from users.models import User userObj = User.objects.get(user_id = long(user_id)) try: from users.models import Remarks remObj = Remarks.objects.get(target_id=long(black_user_id),remuser_id=long(user_id)) user_name = remObj.user_remarks except: user_name = userObj.user_nick user_type = userObj.user_type user_portrait = userObj.user_portrait user_public_status = userObj.user_public_status user_profession = userObj.user_profession user_signature = userObj.user_signature user_level = userObj.user_level user_phone_number = userObj.user_phone_number familyId = userObj.user_family_id try: from users.models import FamilyRecord frObj = FamilyRecord.objects.get(family_id=familyId) building_num = frObj.family_building_num aptnum = frObj.family_apt_num except: building_num = None aptnum = None from users.views import genNeighborDict userInfo = genNeighborDict(user_id,user_name,user_portrait,building_num,aptnum,familyId,user_type,\ user_phone_number,user_profession,user_signature,user_level,user_public_status) config = readIni() pushContent = userInfo alias = config.get("SDK", "youlin") apiKey = config.get("SDK", "apiKey") secretKey = config.get("SDK", "secretKey") currentAlias = alias + str(black_user_id) _jpush = jpush.JPush(apiKey,secretKey) push = _jpush.create_push() push.audience = jpush.all_ push.audience = jpush.audience( jpush.alias(currentAlias), ) push.message = jpush.message( pushContent, u"push_del_black", None, None ) push.options = {"time_to_live":3600, "sendno":9527, "apns_production":PUSH_STATUS} push.platform = jpush.all_ push.send()
def audience(alias, title, msg_content, extras=None): push = _jpush.create_push() push.audience = jpush.audience(jpush.alias(alias), ) push.message = jpush.message(msg_content, title=title, extras=extras) push.platform = jpush.all_ try: response = push.send() except Unauthorized: raise PushError("Unauthorized", 1) except APIConnectionException: raise PushError("API Connection Error", 2) except JPushFailure as e: raise PushError('Push Error:{}'.format(e.details), e.error_code) except Exception as e: raise PushError("Exception:{}".format(str(e)), 3)
def SendAll(self, szInfo, pJson = {}): app_key, master_secret = self.GetKeyAndSecret() import jpush as jpush # from conf import app_key, master_secret _jpush = jpush.JPush(app_key, master_secret) # _jpush.set_logging("DEBUG") push = _jpush.create_push() push.audience = jpush.all_ ios_msg = jpush.ios(alert=szInfo, badge="+1", sound="a.caf", extras=pJson) android_msg = jpush.android(alert=szInfo) push.notification = jpush.notification(alert=u"买卖点", android=android_msg, ios=ios_msg) push.message = jpush.message("content", extras=pJson) push.platform = jpush.all_ apns_production = True push.options = {"time_to_live": 86400, "sendno": 12345, "apns_production": False} push.send()
def push_Msg(): _jpush = jpush.JPush( app_key, master_secret) ##1、初始化JPush,获取AppKey,Master Secret;实例化JPush, push = _jpush.create_push() print("jpush:" + app_key + "/n" + master_secret) # --------------------------------推送设备对象--------------------------- # 一个推送对象,以 JSON 格式表达,表示一条推送相关的所有信息。 # push.audience=jpush.all_ ;#audience 必填 推送设备指定;确认推送设备对象,JPush 提供了多种方式,比如:别名、标签、注册ID、分群、广播等。 push.audience = jpush.audience( jpush.registration_id("1a0018970af48adfcbf", )) # ----------------------------自定义消息 发给android的实现--------------- push.message = jpush.message( "{'salists': [{'payType': 1, 'proid': 3, 'name': '燕麦谷粒多', 'count': 1, 'sinPrice': 2, 'toPrice': 2, 'chid': 162}], 'nums': 1}" ) # message 可选 消息内容体。是被推送到客户端的内容。与 notification 一起二者必须有其一,可以二者并存 # --------------------------- 发送通知 给android的实现-------------------- push.platform = jpush.all_ # platform 必填 推送平台设置 push.send()
def platfrom_msg(alert, message='', params=None): lock.acquire() try: push = _jpush.create_push() push.audience = jpush.all_ ios_msg = jpush.ios(alert=alert, badge="+1", sound="a.caf", extras=params) android_msg = jpush.android(alert=alert) push.notification = jpush.notification(alert=alert, android=android_msg, ios=ios_msg) push.message = jpush.message(message, extras=params) push.platform = jpush.all_ push.send() finally: lock.release()
def post(self): push = self.my_push push.audience = jpush.all_ ios_msg = jpush.ios(alert="Hello, IOS JPush!", badge="+1", sound="a.caf", extras={'k1': 'v1'}) android_msg = jpush.android(alert="Hello, android msg") push.notification = jpush.notification(alert="Hello, JPush!", android=android_msg, ios=ios_msg) push.message = jpush.message("content", extras={ 'k2': 'v2', 'k3': 'v3' }) push.platform = jpush.all_ return Response(push.send())
def jpush_message(username, link_username): _jpush = jpush.JPush(settings.app_key, settings.master_secret) push = _jpush.create_push() push.audience = jpush.audience({'alias': [username]}, ) extras = { 'username': user.username, 'title': topic.title, 'created': timestamp, 'describe': topic.describe, 'content_url': topic.content_url, 'first_image': topic.first_image, } push.message = jpush.message(msg_content='0', extras=extras) push.platform = jpush.all_ push.send()
def SendAlias(self, aAlias,szInfo,pJson = {}, szCaption = ''): app_key, master_secret = self.GetKeyAndSecret() _jpush = jpush.JPush(app_key, master_secret) # _jpush.set_logging("DEBUG") push = _jpush.create_push() alias1 = {"alias": aAlias} # print(alias1) push.audience = jpush.audience( alias1 ) ios_msg = jpush.ios(alert=szInfo, badge="+1", sound="a.caf", extras=pJson) android_msg = jpush.android(alert=szInfo) push.notification = jpush.notification(alert=szCaption, android=android_msg, ios=ios_msg) push.message = jpush.message("content", extras=pJson) push.platform = jpush.all_ # print(push.payload) push.options = {"time_to_live": 86400, "sendno": 12345, "apns_production": False} push.send()
def push(app, title, content, type): msg_content = {'title': title, 'description': content, 'type': type} jpush = JPush.JPush(app['app_key'], app['master_key']) push = jpush.create_push() # push.audience = JPush.alias("1547") push.audience = JPush.all_ ios_msg = JPush.ios(alert=content, badge="+1", sound="default", extras=msg_content) push.message = JPush.message(msg_content=msg_content) push.notification = JPush.notification(ios=ios_msg) push.platform = JPush.platform('android', 'ios') push.options = {"time_to_live": 14400} push.send()
def message_handler(json_request): # jpush alias message = json_request['msg'] username_from = json_request['name_s'] username_to = json_request['name_r'] request_type = 'msg' push = _jpush.create_push() alias_list = [username_to] alias = {"alias": alias_list} push.audience = jpush.audience( alias ) # push.options = {"time_to_live":86400} push.notification = jpush.notification(alert=message,title=username_from, extras={"type": request_type, "name_s": username_from, "name_r": username_to}) push.message = jpush.message(message, title=username_from, extras={"type": request_type, "name_s": username_from, "name_r": username_to}) push.platform = 'android' payload = push.send()
def friend_del(request): if request.method == 'POST': json_request = json.loads(request.body.decode()) request_type = json_request['type'] if request_type == '7': username_from = json_request['name_s'] user_from = AppUser.objects.get(UserName=username_from) if user_from is None:# or user_from.Active != 'Yes': return 404 username_to = json_request['name_r'] user_to = AppUser.objects.get(UserName=username_to) if user_to is None: return 404 user_from_profile = user_from.userprofile user_to_profile = user_to.userprofile user_from_profile.Friends.remove(user_to_profile) user_from_profile.save() #jpush message if request_type == "7": message = "Removed you" if request_type == 'add_delete': message = "Reject you" push = _jpush.create_push() alias_list = [username_to] alias = {"alias": alias_list} push.audience = jpush.audience( alias ) # push.options = {"time_to_live":86400} push.notification = jpush.notification(alert=username_from) push.message = jpush.message(message, title=username_from, extras={"name_s": username_from, "name_r": username_to}) push.platform = jpush.all_ push.send() #jpush message sent json_response = {"type": "7"} return json_response return 404
def jpush_send_message(push_data, push_target, id): _jpush = jpush.JPush(app_key, master_secret) push = _jpush.create_push() push.audience = jpush.audience( # push_target may user account or phone number jpush.tag(push_target) ) push.message = jpush.message(msg_content=id, extras=push_data) push.platform = jpush.all_ push.options = {"time_to_live":86400} try: push.send() except common.Unauthorized: raise common.Unauthorized("Unauthorized") except common.APIConnectionException: raise common.APIConnectionException("conn error") except common.JPushFailure: print ("JPushFailure") except: print ("Exception")
def push(app, title, content, type): msg_content = { 'title': title, 'description': content, 'type': type } jpush = JPush.JPush(app['app_key'], app['master_key']) push = jpush.create_push() # push.audience = JPush.alias("1547") push.audience = JPush.all_ ios_msg = JPush.ios(alert=content, badge="+1", sound="default", extras=msg_content) push.message = JPush.message(msg_content=msg_content) push.notification = JPush.notification(ios=ios_msg) push.platform = JPush.platform('android', 'ios') push.options = {"time_to_live":14400} push.send()
def voice_handler(json_request): file_name = time.strftime("%Y-%m-%d-%H-%M-%S", time.localtime()) + ".mp3" file_path = "./voice/" + file_name file_object = open(file_path, "wb+") file_object.write(json_request['img'].encode(encoding='ISO-8859-1')) file_object.close() url = file_path[2:] username_from = json_request['name_s'] username_to = json_request['name_r'] request_type = 'sou' push = _jpush.create_push() alias_list = [username_to] alias = {"alias": alias_list} push.audience = jpush.audience( alias ) # push.options = {"time_to_live":86400} push.notification = jpush.notification(alert=username_from) push.message = jpush.message(message=url, title=username_from, extras={"type": request_type, "name_s": username_from, "name_r": username_to}) push.platform = jpush.all_ payload = push.send()
def AsyncAddBlackList(user_id,black_user_id): config = readIni() pushContent = str(user_id).encode('utf-8') + ":" \ +str(black_user_id).encode('utf-8') alias = config.get("SDK", "youlin") apiKey = config.get("SDK", "apiKey") secretKey = config.get("SDK", "secretKey") currentAlias = alias + str(black_user_id) _jpush = jpush.JPush(apiKey,secretKey) push = _jpush.create_push() push.audience = jpush.all_ push.audience = jpush.audience( jpush.alias(currentAlias), ) push.message = jpush.message( pushContent, u"push_add_black", None, None ) push.options = {"time_to_live":3600, "sendno":9527, "apns_production":PUSH_STATUS} push.platform = jpush.all_ push.send()
def push_helper(alert=None, type=None, title=None, builder_id=1, badge="+1", audience=jpush.all_, platform=jpush.platform("ios", "android"), **kwargs): jpush_setting = current_app.config.get('JPUSH') push = jpush.JPush(jpush_setting['appkey'], jpush_setting['secret']) obj = push.create_push() obj.platform = platform obj.audience = audience if alert is not None: android_msg = dict(builder_id=builder_id, extras=kwargs) if title is not None: android_msg['title'] = title ios_msg = dict(extras=kwargs) if badge is not None: ios_msg['badge'] = badge obj.notification = jpush.notification(alert=alert, android=android_msg, ios=ios_msg) else: obj.message = jpush.message(alert, content_type=type, title=title, extras=kwargs) try: obj.send() return 0 except jpush.JPushFailure, e: return e.error_code
def AsyncUpdatePasswd(userId,imei): config = readIni() pushContent = imei alias = config.get("SDK", "youlin") apiKey = config.get("SDK", "apiKey") secretKey = config.get("SDK", "secretKey") currentAlias = alias + str(userId) _jpush = jpush.JPush(apiKey,secretKey) push = _jpush.create_push() push.audience = jpush.all_ push.audience = jpush.audience( jpush.alias(currentAlias), ) push.message = jpush.message( pushContent, u"push_new_passwd", None, None ) push.options = {"time_to_live":86400, "sendno":9527, "apns_production":PUSH_STATUS} push.platform = jpush.all_ push.send()
def send_github_msg(integration_id): print("print the request json") print(request.json) integration = Integration.query.filter_by(integration_id=integration_id).first() if integration is None: abort(404) developer = Developer.query.filter_by(id=integration.developer_id).first() if developer is None: abort(404) _jpush = jpush.JPush(u'1c29cb5814072b5b1f8ef829', u'b46af6af73ee8f9480d4edad') push = _jpush.create_push() _jpush.set_logging("DEBUG") push.audience = jpush.audience( jpush.tag(developer.dev_key + '_' + integration.channel.channel) ) message = '' title = '' commits = '' comment = '' issue = '' pull_request = '' repository = request.json['repository'] sender = request.json['sender'] author = sender['login'] url = '' if 'commits' in request.json: commits = request.json['commits'] if 'comment' in request.json: comment = request.json['comment'] if 'issue' in request.json: issue = request.json['issue'] if 'pull_request' in request.json: pull_request = request.json['pull_request'] if 'action' in request.json: action = request.json['action'] else: action = '' target_repository = '[' + repository['name'] + ':' + repository['default_branch'] + ']' # push event if commits != '': print('push event') length = len(commits) if length > 1: title = target_repository + str(length) + 'new commits by ' + author + ':' else: title = target_repository + '1 new commit by ' + author + ':' print(commits) for i in range(len(commits)): commit_id = commits[i]['id'][:7] commit_comment = commits[i]['message'] message = message + commit_id + ': ' + commit_comment + '-' + author + '\n' url = commits[0]['html_url'] print(message) elif issue != '': url = issue['html_url'] issue_title = issue['title'] # issue comment event if comment != '': print('issue comment event') title = target_repository + 'New comment by ' + author + ' on issue ' + issue_title message = comment['body'] # issue event(opened, closed) else: print('issue event') title = target_repository + 'Issue ' + action + ' by ' + author message = issue['body'] # commit comment event elif comment != '': print('commit comment event') title = target_repository + 'New commit comment by ' + author message = comment['body'] url = comment['html_url'] # pull request event elif pull_request != '': print('pull request event') url = pull_request['html_url'] if action == 'opened': title = target_repository + 'Pull request submitted by ' + author message = pull_request['body'] elif action == 'closed': merged = pull_request['merged'] if merged: title = target_repository + 'Pull request by ' + author + ' was merged' else: title = target_repository + 'Pull request by ' + author + ' was closed with unmerged commits' print("the title") print(title) print("the message") print(message) android_msg = jpush.android(alert=title, extras={'title': title, 'message': message}) ios_msg = jpush.ios(alert=title, extras={'title': title, 'message': message}) # ios_msg = jpush.ios(alert=request.json['title'], extras={'title': request.json['title']}) print(integration.icon) if integration.icon is None or len(integration.icon) == 0: icon_url = '' else: icon_url = baseurl + '/static/images/' + integration.icon push.notification = jpush.notification(alert=title, android=android_msg, ios=ios_msg) push.message = jpush.message(msg_content=message, title=title, content_type="tyope", extras={'dev_key': developer.dev_key, 'channel': integration.channel.channel, 'datetime': int(time.time()), 'icon': icon_url, 'integration_name': integration.name, 'url': url}) push.options = {"time_to_live": 864000, "sendno": 12345, "apns_production": True} push.platform = jpush.all_ try: response = push.send() print(response) except common.Unauthorized: print("Unauthorized") return jsonify({'error': 'Unauthorized request'}), 401 except common.APIConnectionException: print('connect error') return jsonify({'error': 'connect error, please try again later'}), 504 except common.JPushFailure: print("JPushFailure") response = common.JPushFailure.response return jsonify({'error': 'JPush failed, please read the code and refer code document'}), 500 except: print("Exception") return jsonify({}), 200
def send_direct_to_channel(channel): developer = get_developer() if developer is None: return jsonify({}), 404 channel_to_post = Channel.query.filter_by(developer_id=developer.id, channel=channel).first() print(channel_to_post) if channel_to_post is None: return jsonify({}), 404 message_url = "" if 'url' in request.json: message_url = request.json['url'] _jpush = jpush.JPush(u'1c29cb5814072b5b1f8ef829', u'b46af6af73ee8f9480d4edad') push = _jpush.create_push() _jpush.set_logging("DEBUG") push.audience = jpush.audience(jpush.tag(developer.dev_key + '_' + channel)) android_msg = jpush.android(alert=request.json['title'], extras={ 'title': request.json['title'], 'message': request.json['message'] }) ios_msg = jpush.ios(alert=request.json['title'], extras={ 'title': request.json['title'], 'message': request.json['message'] }) push.notification = jpush.notification(alert=request.json['title'], android=android_msg, ios=ios_msg) push.message = jpush.message(msg_content=request.json['message'], title=request.json['title'], content_type="tyope", extras={ 'dev_key': developer.dev_key, 'channel': channel, 'datetime': int(time.time()), 'icon': "", 'url': message_url, 'integration_name': "" }) # push.options = {"time_to_live": 864000, "sendno": 12345, "apns_production": False} push.options = { "time_to_live": 864000, "sendno": 12345, "apns_production": True } push.platform = jpush.all_ try: response = push.send() print(response) except common.Unauthorized: print("Unauthorized") return jsonify({'error': 'Unauthorized request'}), 401 except common.APIConnectionException: print('connect error') return jsonify({'error': 'connect error, please try again later'}), 504 except common.JPushFailure: print("JPushFailure") response = common.JPushFailure.response return jsonify({ 'error': 'JPush failed, please read the code and refer code document' }), 500 except: print("Exception") return jsonify({}), 200
def send_message(integration_id, token): if not request.json or not 'message' in request.json or not 'title' in request.json: abort(400) integration = Integration.query.filter_by(integration_id=integration_id, token=token).first() if integration is None: abort(400) message_url = "" if 'url' in request.json: message_url = request.json['url'] print("the message url " + message_url) # channel dev_ID developer = Developer.query.filter_by(id=integration.developer_id).first() if developer is None: abort(404) _jpush = jpush.JPush(u'1c29cb5814072b5b1f8ef829', u'b46af6af73ee8f9480d4edad') push = _jpush.create_push() _jpush.set_logging("DEBUG") push.audience = jpush.audience( jpush.tag(developer.dev_key + '_' + integration.channel.channel)) # push.audience = jpush.all_ # push.notification = jpush.notification(alert=request.json['title'],extras={'title': request.json['title'], # 'message': request.json['message']}) android_msg = jpush.android(alert=request.json['title'], extras={ 'title': request.json['title'], 'message': request.json['message'] }) ios_msg = jpush.ios(alert=request.json['title'], extras={ 'title': request.json['title'], 'message': request.json['message'] }) # ios_msg = jpush.ios(alert=request.json['title'], extras={'title': request.json['title']}) print(integration.icon) if integration.icon is None or len(integration.icon) == 0: url = '' else: url = baseurl + '/static/images/' + integration.icon push.notification = jpush.notification(alert=request.json['title'], android=android_msg, ios=ios_msg) push.message = jpush.message(msg_content=request.json['message'], title=request.json['title'], content_type="tyope", extras={ 'dev_key': developer.dev_key, 'channel': integration.channel.channel, 'datetime': int(time.time()), 'icon': url, 'url': message_url, 'integration_name': integration.name }) push.options = { "time_to_live": 864000, "sendno": 12345, "apns_production": True } push.platform = jpush.all_ try: response = push.send() print(response) except common.Unauthorized: print("Unauthorized") return jsonify({'error': 'Unauthorized request'}), 401 except common.APIConnectionException: print('connect error') return jsonify({'error': 'connect error, please try again later'}), 504 except common.JPushFailure: print("JPushFailure") response = common.JPushFailure.response return jsonify({ 'error': 'JPush failed, please read the code and refer code document' }), 500 except: print("Exception") return jsonify({}), 200
import jpush as jpush from conf import app_key, master_secret _jpush = jpush.JPush(app_key, master_secret) _jpush.set_logging("DEBUG") push = _jpush.create_push() push.audience = jpush.all_ ios_msg = jpush.ios(alert="Hello, IOS JPush!", badge="+1", sound="a.caf", extras={'k1':'v1'}) android_msg = jpush.android(alert="Hello, android msg") push.notification = jpush.notification(alert="Hello, JPush!", android=android_msg, ios=ios_msg) push.message=jpush.message("content",extras={'k2':'v2','k3':'v3'}) push.platform = jpush.all_ push.send()
def send_github_msg(integration_id): print("print the request json") print(request.json) integration = Integration.query.filter_by( integration_id=integration_id).first() if integration is None: abort(404) developer = Developer.query.filter_by(id=integration.developer_id).first() if developer is None: abort(404) _jpush = jpush.JPush(u'1c29cb5814072b5b1f8ef829', u'600805207f9743a472b79108') push = _jpush.create_push() _jpush.set_logging("DEBUG") push.audience = jpush.audience( jpush.tag(developer.dev_key + '_' + integration.channel.channel)) message = '' title = '' commits = '' comment = '' issue = '' pull_request = '' repository = request.json['repository'] sender = request.json['sender'] author = sender['login'] url = '' if 'commits' in request.json: commits = request.json['commits'] if 'comment' in request.json: comment = request.json['comment'] if 'issue' in request.json: issue = request.json['issue'] if 'pull_request' in request.json: pull_request = request.json['pull_request'] if 'action' in request.json: action = request.json['action'] else: action = '' target_repository = '[' + repository['name'] + ':' + repository[ 'default_branch'] + ']' # push event if commits != '': print('push event') length = len(commits) if length > 1: title = target_repository + str( length) + 'new commits by ' + author + ':' else: title = target_repository + '1 new commit by ' + author + ':' print(commits) for i in range(len(commits)): commit_id = commits[i]['id'][:7] commit_comment = commits[i]['message'] message = message + commit_id + ': ' + commit_comment + '-' + author + '\n' url = commits[0]['html_url'] print(message) elif issue != '': url = issue['html_url'] issue_title = issue['title'] # issue comment event if comment != '': print('issue comment event') title = target_repository + 'New comment by ' + author + ' on issue ' + issue_title message = comment['body'] # issue event(opened, closed) else: print('issue event') title = target_repository + 'Issue ' + action + ' by ' + author message = issue['body'] # commit comment event elif comment != '': print('commit comment event') title = target_repository + 'New commit comment by ' + author message = comment['body'] url = comment['html_url'] # pull request event elif pull_request != '': print('pull request event') url = pull_request['html_url'] if action == 'opened': title = target_repository + 'Pull request submitted by ' + author message = pull_request['body'] elif action == 'closed': merged = pull_request['merged'] if merged: title = target_repository + 'Pull request by ' + author + ' was merged' else: title = target_repository + 'Pull request by ' + author + ' was closed with unmerged commits' print("the title") print(title) print("the message") print(message) android_msg = jpush.android(alert=title, extras={ 'title': title, 'message': message }) ios_msg = jpush.ios(alert=title, extras={ 'title': title, 'message': message }) # ios_msg = jpush.ios(alert=request.json['title'], extras={'title': request.json['title']}) print(integration.icon) if integration.icon is None or len(integration.icon) == 0: icon_url = '' else: icon_url = baseurl + '/static/images/' + integration.icon push.notification = jpush.notification(alert=title, android=android_msg, ios=ios_msg) push.message = jpush.message(msg_content=message, title=title, content_type="tyope", extras={ 'dev_key': developer.dev_key, 'channel': integration.channel.channel, 'datetime': int(time.time()), 'icon': icon_url, 'integration_name': integration.name, 'url': url }) push.options = { "time_to_live": 864000, "sendno": 12345, "apns_production": True } push.platform = jpush.all_ try: response = push.send() print(response) except common.Unauthorized: print("Unauthorized") return jsonify({'error': 'Unauthorized request'}), 401 except common.APIConnectionException: print('connect error') return jsonify({'error': 'connect error, please try again later'}), 504 except common.JPushFailure: print("JPushFailure") response = common.JPushFailure.response return jsonify({ 'error': 'JPush failed, please read the code and refer code document' }), 500 except: print("Exception") return jsonify({}), 200
tagSuffix = config.get('topic', "tagSuffix") tagNormalName = tagSuffix + str(currentCommunityId) tagSuffix = config.get('report', "tagSuffix") tagAdminName = tagSuffix + str(currentCommunityId) tagSuffix = config.get('property', "tagSuffix") tagPropertyName = tagSuffix + str(currentCommunityId) apiKey = config.get("SDK", "apiKey") secretKey = config.get("SDK", "secretKey") _jpush = jpush.JPush(apiKey, secretKey) push = _jpush.create_push() push.audience = jpush.all_ push.audience = jpush.audience( jpush.tag(tagNormalName, tagAdminName, tagPropertyName), ) push.message = jpush.message(pushContent, u"push_new_topic", None, blackList) push.options = { "time_to_live": 0, "sendno": 9527, "apns_production": PUSH_STATUS } push.platform = jpush.all_ push.send() @youlinapp.task def AsyncUpdateTopic(topicId, currentCommunityId): config = readIni() tagSuffix = config.get('topic', "tagSuffix") pushContent = str(topicId).encode('utf-8')
import jpush as jpush _jpush = jpush.JPush('9370f4f126efb68cb51448d9', '5aa29e3617a58eca440a01a9') push = _jpush.create_push() aa = [] aa.append('0013e79cbfc') aa.append('0416fadd27b') taa = tuple(aa) #push.audience = jpush.registration_id('0013e79cbfc', '0416fadd27b') push.audience = jpush.registration_id(*taa) push.notification = jpush.notification(ios=jpush.ios( alert='#####JPush power cnvnwnovs', badge=1, sound='default')) push.message = jpush.message('abcdefg') push.options = dict(apns_production=False) push.platform = jpush.platform('ios') push.send()
def send_discourse_msg(integration_id, token): print("discourse") integration = Integration.query.filter_by(integration_id=integration_id, token=token).first() if integration is None: abort(400) # channel dev_ID developer = Developer.query.filter_by(id=integration.developer_id).first() if developer is None: abort(404) _jpush = jpush.JPush(u'1c29cb5814072b5b1f8ef829', u'b46af6af73ee8f9480d4edad') push = _jpush.create_push() _jpush.set_logging("DEBUG") push.audience = jpush.audience( jpush.tag(developer.dev_key + '_' + integration.channel.channel) ) # push.audience = jpush.all_ # push.notification = jpush.notification(alert=request.json['title'],extras={'title': request.json['title'], # message_url = "" if 'url' in request.json: message_url = request.json['url'] print("the message url " + message_url) android_msg = jpush.android(alert=request.json['title'], extras={'title': request.json['title'], 'message': request.json['message']}) ios_msg = jpush.ios(alert=request.json['title'], extras={'title': request.json['title'], 'message': request.json['message']}) # ios_msg = jpush.ios(alert=request.json['title'], extras={'title': request.json['title']}) print(integration.icon) if integration.icon is None or len(integration.icon) == 0: url = '' else: url = baseurl + '/static/images/' + integration.icon push.notification = jpush.notification(alert=request.json['title'], android=android_msg, ios=ios_msg) push.message = jpush.message(msg_content=request.json['message'], title=request.json['title'], content_type="tyope", extras={'dev_key': developer.dev_key, 'channel': integration.channel.channel, 'datetime': int(time.time()), 'icon': url, 'url': message_url, 'integration_name': integration.name}) push.options = {"time_to_live": 864000, "sendno": 12345, "apns_production": True} push.platform = jpush.all_ try: response = push.send() print(response) except common.Unauthorized: print("Unauthorized") return jsonify({'error': 'Unauthorized request'}), 401 except common.APIConnectionException: print('connect error') return jsonify({'error': 'connect error, please try again later'}), 504 except common.JPushFailure: print("JPushFailure") response = common.JPushFailure.response return jsonify({'error': 'JPush failed, please read the code and refer code document'}), 500 except: print("Exception") return jsonify({}), 200
import jpush as jpush _jpush = jpush.JPush('9370f4f126efb68cb51448d9', '5aa29e3617a58eca440a01a9') push = _jpush.create_push() aa = [] aa.append('0013e79cbfc') aa.append('0416fadd27b') taa = tuple(aa) #push.audience = jpush.registration_id('0013e79cbfc', '0416fadd27b') push.audience = jpush.registration_id(*taa) push.notification = jpush.notification(ios=jpush.ios(alert='#####JPush power cnvnwnovs', badge=1, sound='default')) push.message = jpush.message('abcdefg') push.options = dict(apns_production=False) push.platform = jpush.platform('ios') push.send()
def push_message_by_alias(alias, content, **kwargs): push.audience = jpush.audience(jpush.alias(alias)) push.message = jpush.message(content, extras=kwargs) push.platform = 'android' logger.info('payload:...=%s' % push.payload) push.send()