X-Git-Url: https://vcs.fsf.org/?p=rainbowstream.git;a=blobdiff_plain;f=rainbowstream%2Frainbow.py;h=53fcd639f4ef2b83929f899fa74a53a8d8c3b879;hp=5241f0d70a05b030d6756e6026ca896db3803154;hb=bb68c6872988e8bcb1f125dc86dba67ceb8a1415;hpb=04610460050d47adec2e7b9c8a354b6ee99a6317 diff --git a/rainbowstream/rainbow.py b/rainbowstream/rainbow.py index 5241f0d..53fcd63 100644 --- a/rainbowstream/rainbow.py +++ b/rainbowstream/rainbow.py @@ -530,11 +530,13 @@ def reply_all(): tid = c['tweet_dict'][id] original_tweet = t.statuses.show(id=tid) text = original_tweet['text'] - owner = '@' + original_tweet['user']['screen_name'] - nick_ary = ['@' + re.sub('[\W_]', '', w) - for w in text.split() if w.startswith('@')] + [owner] + nick_ary = [original_tweet['user']['screen_name']] + for user in list(original_tweet['entities']['user_mentions']): + if user['screen_name'] not in nick_ary \ + and user['screen_name'] != g['original_name']: + nick_ary.append(user['screen_name']) status = ' '.join(g['stuff'].split()[1:]) - status = ' '.join(nick_ary) + ' ' + str2u(status) + status = ' '.join(['@' + nick for nick in nick_ary]) + ' ' + str2u(status) t.statuses.update(status=status, in_reply_to_status_id=tid) @@ -2077,7 +2079,7 @@ def stream(domain, args, name='Rainbow Stream'): detail_twitter_error(e) sys.stdout.write(g['decorated_name'](g['PREFIX'])) sys.stdout.flush() - except (URLError, ConnectionResetError): + except (URLError): printNicely( magenta('There seems to be a connection problem.')) save_history()