You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Tweepy循环自动回复指定推特仅运行一次无日志输出问题求解

问题根因

  • 核心错误是print语句存在类型不兼容问题:pause是随机生成的整数类型,代码直接用pause + "s"做字符串拼接会触发类型异常,程序第一次执行到打印日志的步骤就会直接崩溃,因此仅能完成1次回复、不会输出后续日志。
  • 额外冗余问题:每次循环都重复初始化Tweepy认证和API实例,属于无意义的重复操作,既降低运行效率,也可能提升接口风控拦截的概率。
  • 代码规范问题:直接在函数内读取全局变量,不利于后续调试和功能扩展。

修正后可用代码

import tweepy
import random
import datetime
import time

def spam(amount, status, tweetid):
    # 认证逻辑移到循环外,仅初始化一次即可
    auth = tweepy.OAuthHandler("xxxx", "xxxx")
    auth.set_access_token("xxxx-xxxx", "xxxx")
    api = tweepy.API(auth)
    
    for i in range(amount):
        send = f"{status} {i+1}"
        pause = random.randint(5, 12)
        api.update_status(send, in_reply_to_status_id = tweetid, auto_populate_reply_metadata = True)
        # 修复字符串拼接错误,使用f-string格式化输出更清晰
        print(f"success, pause = {pause}s\t{datetime.datetime.now()}")
        time.sleep(pause)

if __name__ == "__main__":
    amount = int(input("amount>> "))
    status = input("status>> ")
    tweetid = input("id>> ")
    spam(amount, status, tweetid)

内容的提问来源于stack exchange,提问作者seggsyape

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 18:06:05