使用 tweetinvi 在 Twitter 上发布消息并不能始终如一地发布推文

posting message on twitter using tweetinvi does not consistently publish the tweet

我有一个用户列表,我需要 post 在 Twitter 上发消息(post 在我们的帐户上发消息,然后使用 @ID 引用这些用户),使用 tweetinvi。目前,这是我的代码。我正在尝试 post 每 36 秒发送一条消息,以获得每天可能的最大推文数量 (2400)。

    static void Main(string[] args)
    {
        
        allUsers = analytics.getAllUniqueUserID();
       

       
        System.Timers.Timer aTimer = new System.Timers.Timer();
        aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
        
        aTimer.Interval = 36000;
        aTimer.Enabled = true;

        while (true)
        {
            //just to keep console open
        }
    }

定时事件如下

private static void OnTimedEvent(object source, ElapsedEventArgs e)
    {

        lastMessaged = analytics.getLastUserIDMessaged() + 1;
        string identifier = allUsers[lastMessaged];
        string message = "Hello";
        
        TwitterAccess.publicTweetToUsers(identifier, message); 
        analytics.writeLastIDToFile(lastMessaged.ToString());
        
        
        
    }

publicTweetToUsers 如下

public static void publicTweetToUsers(string identifier, string message)
    {
        Auth.SetUserCredentials(key, secret, token, tokenSecret);
        var user = User.GetAuthenticatedUser();

        var tweet = Tweet.PublishTweet(string.Format("{0} {1}",     identifier, message));

    }

请注意,key、secret、token 和 tokenSecret 已分配值,帐户确实登录并发送推文,只是不会始终如一地执行,它会发送一段时间然后停止。我做错了什么?

我是 Tweetinvi 的开发者。

正如您提到的,Twitter 授权的每天推文的理论限制是 2400 条/天,分为 30 分钟的块(每 30 分钟 50 条)。

尽管为了防止 Twitter 上的垃圾邮件,他们的服务器应用了未记录的测试以确保推文是 'legitimate' 推文。

因此,在我们认为问题来自图书馆之前,让我们先分析一下 Twitter returns 并尝试稍微减少您每天发布的推文数量。

  1. 将计时器增加到 0.5 秒 (1440 tweets/day)。
  2. 检查 Twitter 返回的错误 (https://github.com/linvi/tweetinvi/wiki/Exception-Handling#per-request-exception-handling)

在错误中您会发现 2 个有用的属性:TwitterExceptionInfosTwitterDescription。如果这 2 个属性不能真正帮助您确定问题,请分享 TwitterException 中可用的所有信息,我会仔细研究它们。

周末愉快!