基于Node.js的Twitter(X) API V2随机推文Bot改造求助
改造Twitter API V2定时推文代码:随机选取内容发布
以下是适配Twitter API V2、从预设列表随机选内容发布的完整代码:
require("dotenv").config({ path: __dirname + "/.env" }); const { twitterClient } = require("./twitterClient.js") const CronJob = require("cron").CronJob; // 预设推文内容列表,可自行添加或修改 const tweetContents = [ "Hello World!", "今天的天气真不错~", "分享一个开发小技巧:用随机内容让推文更灵活", "Twitter API V2的使用体验还挺顺畅", "打卡!又是认真写代码的一天" ]; // 从列表随机选取一条内容 const getRandomTweet = () => { const randomIndex = Math.floor(Math.random() * tweetContents.length); return tweetContents[randomIndex]; }; const tweet = async () => { try { const randomContent = getRandomTweet(); await twitterClient.v2.tweet(randomContent); console.log(`成功发布推文:${randomContent}`); } catch (e) { console.error("发布推文失败:", e); } } const cronTweet = new CronJob("* * * * *", async () => { tweet(); }); cronTweet.start();
关键改造说明
- 新增
tweetContents数组:存放所有备选的推文内容,可根据需求自由增减条目,注意内容要符合Twitter的字数限制(单条推文最多280字符)。 - 新增
getRandomTweet函数:利用Math.random()生成随机索引,从数组中选取随机内容,确保每次发布的推文不重复(在列表内容足够多的前提下)。 - 修改
tweet函数:调用随机内容函数获取推文文本,替换原来固定的"Hello World!",同时增加成功日志方便排查。
内容的提问来源于stack exchange,提问作者Richie A
相关产品推荐
相关产品推荐

