示例#1
0
def getPushUnitSetting(message_type: str, pushTo: int,
                       tweet_user_id: int) -> str:
    attrlist = {
        'upimg': '图片',  #是否连带图片显示(默认不带)-发推有效,转推及评论等事件则无效
        #推特推送模版
        'retweet_template': '转推模版',
        'quoted_template': '转推并评论模版',
        'reply_to_status_template': '回复模版',
        'reply_to_user_template': '提及模版',
        'none_template': '发推模版',

        #推特推送开关
        'retweet': '转推',  #转推(默认不开启)
        'quoted': '转推并评论',  #带评论转推(默认开启)
        'reply_to_status': '回复',  #回复(默认开启)
        'reply_to_user': '******',  #提及某人-多数时候是被提及但是被提及不会接收(默认开启)
        'none': '发推',  #发推(默认开启)

        #个人信息变化推送(非实时)
        'change_ID': 'ID修改',  #ID修改(默认关闭)
        'change_name': '昵称修改',  #昵称修改(默认开启)
        'change_description': '描述修改',  #描述修改(默认关闭)
        'change_headimgchange': '头像修改',  #头像更改(默认开启)
    }
    res = push_list.getPushunit(message_type, pushTo, tweet_user_id)
    if res[0]:
        Pushunit = res[1]
    else:
        return res
    """
        #固有属性
        Pushunit['bindCQID'] = bindCQID #绑定的酷Q帐号(正式上线时将使用此帐户进行发送,用于适配多酷Q账号)
        Pushunit['type'] = pushtype #group/private
        Pushunit['pushTo'] = pushID #QQ号或者群号
        Pushunit['tweet_user_id'] = tweet_user_id #监测ID
        Pushunit['nick'] = nick #推送昵称(默认推送昵称为推特screen_name)
        Pushunit['des'] = des #单元描述
        userinfo['id'] = user.id
        userinfo['id_str'] = user.id_str
        userinfo['name'] = user.name
        userinfo['description'] = user.description
        userinfo['screen_name'] = user.screen_name
        userinfo['profile_image_url'] = user.profile_image_url
        userinfo['profile_image_url_https'] = user.profile_image_url_https
    """
    if tweetListener:
        userinfo = tweet_event_deal.tryGetUserInfo(tweet_user_id)
    res = '用户ID:' + str(tweet_user_id) + "\n" + \
        '自定义的昵称:' + (Pushunit['nick'] if Pushunit['nick'] != '' else '未定义') + "\n" +\
        '描述:' + Pushunit['des'].replace("\\n","\n") + \
        userinfoToStr(userinfo)
    for attrname, attrdisplayname in attrlist.items():
        value = push_list.getPuslunitAttr(Pushunit, attrname)
        res = res + '\n' + attrdisplayname + ':' + \
            (value[1] if value[1] not in (0,1,'') else {0:'关闭',1:'开启','':'未定义'}[value[1]])
    return (True, res)
 def deal_event_unit(self, event, Pushunit):
     #事件处理单元-发送
     data = event['data']
     #识别事件类型
     if event['type'] in [
             'retweet', 'quoted', 'reply_to_status', 'reply_to_user', 'none'
     ]:
         s = self.tweetToStr(
             data, Pushunit['nick'],
             push_list.getPuslunitAttr(Pushunit, 'upimg')[1],
             push_list.getPuslunitAttr(Pushunit,
                                       event['type'] + '_template')[1])
         self.send_msg(Pushunit['type'], Pushunit['pushTo'], s,
                       Pushunit['bindCQID'])
     elif event['type'] in [
             'change_ID', 'change_name', 'change_description',
             'change_headimgchange'
     ]:
         self.send_msg(Pushunit['type'], Pushunit['pushTo'], data['str'],
                       Pushunit['bindCQID'])