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

如何使用Tweepy在单条推文中添加多行文本实现每日发帖机器人

解决Twitter每日自动发帖机器人的文本拼接问题

你的核心问题是没正确生成包含"Day X"和标签的换行文本,同时原代码还有变量赋值、语法错误,以下是修正方案:

原代码的问题点

  • day_add = day = day + 1 会同时覆盖day和day_add的值,逻辑冗余且易出错
  • day_num = "Day ", day_add 生成的是元组而非字符串,无法直接用于文本拼接
  • 两次尝试的写法都存在语法错误:random.choice仅接受一个参数,create_tweet不能直接传多个位置参数

修正后的基础实现代码

import random
# 确保已正确初始化Twitter API的client对象

# 标签选项字典
hashtag = {
    "0": 'Ex1', 
    "1": 'Ex2', 
    "2": 'Ex3', 
    "3": 'Ex4', 
    "4": 'Ex5'
}

# 示例day值(实际使用需持久化,见下文)
day = 0
day_add = day + 1
# 用f-string生成"Day X"格式的字符串
day_text = f"Day {day_add}"
# 随机选择一个标签
selected_tag = random.choice(list(hashtag.values()))
# 用换行符\n拼接推文内容
tweet_content = f"{day_text}\n{selected_tag}"

# 发送推文
client.create_tweet(text=tweet_content)

每日自动递增day值的持久化实现

如果需要每天自动累加day数,要把day值保存到本地文件(避免每次运行重置为0):

import random

# 读取上次保存的day值
try:
    with open("day_counter.txt", "r") as file:
        day = int(file.read().strip())
except FileNotFoundError:
    # 文件不存在时初始化为0
    day = 0

# 更新day值
day_add = day + 1
# 保存更新后的day值到文件
with open("day_counter.txt", "w") as file:
    file.write(str(day_add))

hashtag = {
    "0": 'Ex1', 
    "1": 'Ex2', 
    "2": 'Ex3', 
    "3": 'Ex4', 
    "4": 'Ex5'
}

day_text = f"Day {day_add}"
selected_tag = random.choice(list(hashtag.values()))
tweet_content = f"{day_text}\n{selected_tag}"

client.create_tweet(text=tweet_content)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 16:33:16