【发布时间】:2021-07-10 22:41:57
【问题描述】:
每当某个用户发推文时,我都会尝试从一个 Twilio 电话号码向另一个号码发送 SMS 消息。代码如下:
import tweepy
from twilio.rest import Client
consumer_key = CONSUMER_KEY
consumer_secret = CONSUMER_SECRET
access_token = ACCESS_TOKEN
access_token_secret = ACCESS_TOKEN_SECRET
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
client = Client(TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN)
class MyStreamListener(tweepy.StreamListener):
def on_status(self, status):
if status.user.id_str == "14173315":
message = client.messages \
.create(
body="Success!",
from_=TWILIO_PHONE_NUMBER_1,
to=TWILIO_PHONE_NUMBER_2
)
myStreamListener = MyStreamListener()
myStream = tweepy.Stream(auth = api.auth, listener=myStreamListener)
myStream.filter(follow=["14173315"])
这是托管在 Heroku 工作人员测功机上的,因此当应用程序上线时,Tweepy 侦听器始终在侦听来自 Twitter ID 为 14173315 的用户的推文。但是,只要 Twitter ID 为 14173315 的用户发了推文,就没有 SMS消息正在发送。我知道这一点是因为我检查了 Twilio SMS 消息日志并且两个电话号码之间没有显示任何消息。我不知道为什么会这样。有任何想法吗?谢谢
【问题讨论】:
-
您的应用程序是否有任何错误?你的 Twitter 流 API 是否肯定会收到推文? (另外一个问题,您在两个 Twilio 号码之间发送消息有什么原因吗?)
-
有一个原因,是的,twitter 流 api 正在接收我相信的推文,我会仔细检查
-
此外,它之前的工作是“to”电话号码不是 Twilio 电话号码,“to”电话号码是我的个人电话号码。我不得不将其设为另一个 Twilio 电话号码,因为 T-Mobile(包括 Sprint)尚未推出他们的 A2P 10DLC 解决方案。所以我不确定为什么当“收件人”电话号码是另一个 Twilio 电话号码时没有发送任何消息。
-
您是否看到应用程序出现错误?或者您在Twilio debugger 中看到任何错误?您可能无法在自己的 Twilio 号码之间发送消息以避免无限循环。
-
我在 Twilio 调试器中没有看到任何东西,我认为这是因为它没有注册任何消息正在发送。我一直在检查,每次发生推文时,Twilio 消息日志中都没有显示任何消息。我需要能够向某种电话号码发送消息,并且由于我不能使用我的个人电话号码,我购买了另一个 Twilio 电话号码来发送消息。因此,由于这个无限循环问题,我无法在我自己的 Twilio 电话号码之间发送消息?
标签: python heroku twilio tweepy