python-3.x - 当我运行一个 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)
它应该回复一个帮助链接,但它没有,我不知道我在代码中做错了什么。有什么帮助吗?
解决方案
代替 :
if i == s.text:
和 :
if i in s.text:
或者要匹配区分大小写的单词,最好的应该是:
if i.lower() in s.text.lower():
因为Suicidal
(t
数组中的另一个词)不能等于推文文本。我猜你想检查文本是否包含这个词。
推荐阅读
- ruby-on-rails - 如何在 Elasticsearch 中进行基于文档的授权?
- c# - 错误 CS0234:命名空间“Microsoft”中不存在类型或命名空间名称“VisualStudio”(您是否缺少程序集引用?
- tinymce - TinyMCE 模板插件在编辑器中最后插入
- .net - 如何通过 .net mongoDb 驱动程序通过嵌套属性获取 mongoDb 中的文档
- sql - 为每条记录选择最高值
- java - IntelliJ 中的“java:找不到符号”但 gradle 构建
- c++ - 为什么我不能将 int 分配给结构成员的联合成员?
- twilio - 如何将暂停添加到 Twilio studio Say/Play 小部件
- reactjs - PWA 显示独立不工作
- php - PHPMyAdmin 脚本超时,Wampserver64