Exemplo n.º 1
0
def show_new_mentions(gid, since_id):
    oauth_token, oauth_secret = get_user_oauth_info(gid)
    a = fanfou.fanfou(settings.consumer_key, settings.consumer_secret, oauth_token, oauth_secret)
    if since_id == '': #手动查看新 mentions
        response, content = a.statuses_mentions()
        content = json.loads(content)
        for item in reversed(content):
            message_count = get_max_message_count()
            message_id = item['id']
            if not status_exists(message_id):
                memcache_add('%s%s'%(NUMBER_TO_ID_PREFIX, `message_count`), message_id)
                conversation = '%s: %s'%(item['user']['screen_name'], item['text'])
                memcache_add('%s%s'%(CONTENT_PREFIX, `message_count`), conversation)
                memcache_add('%s%s'%(SCREEN_NAME_PREFIX, `message_count`), item['user']['screen_name'])
                inc_max_message_count()
                update_last_mention(gid, item['id'])
                xmpp.send_message(gid, '%s #%s'%(conversation, message_count))
    else: #自动获取新 mentions
        since_id = db.GqlQuery("SELECT * FROM users WHERE gid='%s'"%(gid))[0].last_mentions
        response, content = a.statuses_mentions(since_id=since_id)
        content = json.loads(content)
        for item in reversed(content):
            message_count = get_max_message_count()
            message_id = item['id']
            if not status_exists(message_id):
                memcache_add('%s%s'%(NUMBER_TO_ID_PREFIX, `message_count`), message_id)
                conversation = '%s: %s'%(item['user']['screen_name'], item['text'])
                memcache_add('%s%s'%(CONTENT_PREFIX, `message_count`), conversation)
                memcache_add('%s%s'%(SCREEN_NAME_PREFIX, `message_count`), item['user']['screen_name'])
                inc_max_message_count()
                update_last_mention(gid, item['id'])
                xmpp.send_message(gid, '%s #%s'%(conversation, message_count))
Exemplo n.º 2
0
def new_dm_notification(gid):
    oauth_token, oauth_secret = get_user_oauth_info(gid)
    a = fanfou.fanfou(settings.consumer_key, settings.consumer_secret, oauth_token, oauth_secret)
    response, content = a.account_notification()
    content = json.loads(content)
    new_dm_num = content['direct_messages']
    if new_dm_num:
        xmpp.send_message(gid, '你有 %s 封新私信'%(new_dm_num))
Exemplo n.º 3
0
def retweet_statuses(gid, mes):
    params = mes.split(" ")
    retweet_id = get_status_real_id(gid, params[1])
    if len(params) == 2: #没有附加内容
        result = db.GqlQuery("SELECT * FROM users WHERE gid='%s'"%(gid))[0]
        oauth_token, oauth_secret = get_user_oauth_info(gid)
        a = fanfou.fanfou(settings.consumer_key, settings.consumer_secret, oauth_token, oauth_secret)
        response, content = a.statuses_update(
            status = "RT@%s"%(memcache_get(CONTENT_PREFIX + params[1])),
            repost_status_id = retweet_id,
        )
    else: #有附加内容
        result = db.GqlQuery("SELECT * FROM users WHERE gid='%s'"%(gid))[0]
        oauth_token, oauth_secret = get_user_oauth_info(gid)
        retweet_content = ' '.join(mes.split(" ")[2:])
        a = fanfou.fanfou(settings.consumer_key, settings.consumer_secret, oauth_token, oauth_secret)
        response, content = a.statuses_update(
            status = "%s RT@%s"%(retweet_content, memcache_get(CONTENT_PREFIX + params[1])),
            repost_status_id = retweet_id,
        )
Exemplo n.º 4
0
def reply_statuses(gid, mes):
    params = mes.split(" ")
    reply_id = get_status_real_id(gid, params[1])
    reply_content = ' '.join(mes.split(" ")[2:])
    result = db.GqlQuery("SELECT * FROM users WHERE gid='%s'"%(gid))[0]
    oauth_token, oauth_secret = get_user_oauth_info(gid)
    a = fanfou.fanfou(settings.consumer_key, settings.consumer_secret, oauth_token, oauth_secret)
    response, content = a.statuses_update(
        status = "@%s %s"%(memcache_get(SCREEN_NAME_PREFIX + params[1]), reply_content),
        in_reply_to_status_id = reply_id,
    )
Exemplo n.º 5
0
def show_new_replies(gid):
    oauth_token, oauth_secret = get_user_oauth_info(gid)
    a = fanfou.fanfou(settings.consumer_key, settings.consumer_secret, oauth_token, oauth_secret)
    response, content = a.statuses_replies()
    content = json.loads(content)
    for item in reversed(content):
        message_count = get_max_message_count()
        message_id = item['id']
        if not status_exists(message_id):
            memcache_add('%s%s'%(NUMBER_TO_ID_PREFIX, `message_count`), message_id)
            conversation = '%s: %s'%(item['user']['screen_name'], item['text'])
            memcache_add('%s%s'%(SCREEN_NAME_PREFIX, `message_count`), item['user']['screen_name'])
            inc_max_message_count()
            xmpp.send_message(gid, '%s #%s'%(conversation, message_count))
Exemplo n.º 6
0
def auto_refresh_home_timeline(gid, last_id): #待合并
    oauth_token, oauth_secret = get_user_oauth_info(gid)
    a = fanfou.fanfou(settings.consumer_key, settings.consumer_secret, oauth_token, oauth_secret)
    response, content = a.statuses_home_timeline(since_id=last_id)
    content = json.loads(content)
    updated_status_id = content[0]['id']
    update_last_home_tl(gid, updated_status_id)
    for item in reversed(content):
        message_count = get_max_message_count()
        message_id = item['id']
        if not status_exists(message_id): #判重
            memcache_add('%s%s'%(NUMBER_TO_ID_PREFIX, `message_count`), message_id)
            conversation = '%s: %s'%(item['user']['screen_name'], item['text'])
            memcache_add('%s%s'%(SCREEN_NAME_PREFIX, `message_count`), item['user']['screen_name'])
            memcache_add('%s%s'%(CONTENT_PREFIX, `message_count`), conversation)
            inc_max_message_count()
            xmpp.send_message(gid, '%s #%s'%(conversation, message_count))
Exemplo n.º 7
0
def auto_refresh_reply(gid, last_id):
    oauth_token, oauth_secret = get_user_oauth_info(gid)
    a = fanfou.fanfou(settings.consumer_key, settings.consumer_secret, oauth_token, oauth_secret)
    if last_id != '':
        response, content = a.statuses_replies(since_id=last_id)
    else:
        response, content = a.statuses_replies()
    content = json.loads(content)
    for item in reversed(content):
        message_count = get_max_message_count()
        message_id = item['id']
        if not status_exists(message_id):
            memcache_add('%s%s'%(NUMBER_TO_ID_PREFIX, `message_count`), message_id)
            conversation = '%s: %s'%(item['user']['screen_name'], item['text'])
            memcache_add('%s%s'%(CONTENT_PREFIX, `message_count`), conversation)
            memcache_add('%s%s'%(SCREEN_NAME_PREFIX, `message_count`), item['user']['screen_name'])
            inc_max_message_count()
            update_last_reply(gid, item['id']) #更新最新的 id
            xmpp.send_message(gid, '%s #%s'%(conversation, message_count))
Exemplo n.º 8
0
Arquivo: main.py Projeto: liamzh/unfo
def main():
    a = fanfou.fanfou(
        consumer_key, consumer_secret,
        oauth_token, oauth_token_secret)
    db_name = 'followers.sqlite3'
    if os.path.isfile(db_name):
        conn = sqlite3.connect(db_name)
        c = conn.cursor()
    else:
        conn = sqlite3.connect(db_name)
        c = conn.cursor()
        c.execute('''create table followers (ids text)''')
        conn.commit()
    response, content = a.followers_ids()
    if response['status'] == '200':
        c.execute("""INSERT INTO followers values('%s')""" % content)
        conn.commit()
    old_ids = c.execute("""SELECT * FROM 'followers'""").fetchall()[-1]
    result = compare(old_ids=old_ids, new_ids=content)
    for each_id in result:
        print each_id
    c.close()
    conn.close()
Exemplo n.º 9
0
def update_statuses(gid, mes):
    oauth_token, oauth_secret = get_user_oauth_info(gid)
    a = fanfou.fanfou(settings.consumer_key, settings.consumer_secret, oauth_token, oauth_secret)
    response, content = a.statuses_update(status=mes)
    t = json.loads(content)
    easter_color_eggs(gid, mes)