首页 > 解决方案 > 当我运行一个 tweepy python 脚本时,关联的 Twitter 帐户上没有任何反应

问题描述

我创建了一个带有 tweepy 的 python 脚本,它通过一个支持网站的链接回复自杀性推文。但是,当我在不同的帐户上运行代码并使用任何代码字发推文时,什么也没有发生。我在命令提示符下打开并运行 .py 文件。

就像我说的,我尝试使用应该触发它的特定词,但它没有回复。

import tweepy

#the following module is a file with the specific keys set in
#a dictionary to the given variable, don't want to show them due to 
#privacy/security 

from keys import keys

CONSUMER_KEY = keys['consumer_key']
CONSUMER_SECRET = keys['consumer_secret']
ACCESS_TOKEN = keys['access_token']
ACCESS_TOKEN_SECRET = keys['access_token_secret']

auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
api = tweepy.API(auth)    

twts = api.search(q="suicide")     

t = ['suicide',
    'kill myself',
    'hate myself',
    'Suicidal',
    'self-harm',
    'self harm']

for s in twts:
    for i in t:
        if i == s.text:
            sn = s.user.screen_name
            m = "@%s You are loved! For help, visit https://suicidepreventionlifeline.org/" % (sn)
            s = api.update_status(m, s.id)

它应该回复一个帮助链接,但它没有,我不知道我在代码中做错了什么。有什么帮助吗?

标签: python-3.xtweepy

解决方案


代替 :

if i == s.text:

和 :

if i in s.text:

或者要匹配区分大小写的单词,最好的应该是:

if i.lower() in s.text.lower():

因为Suicidalt数组中的另一个词)不能等于推文文本。我猜你想检查文本是否包含这个词。


推荐阅读