使用tweetinvi在Twitter上发布消息并不一致地发布推文

时间:2017-01-15 13:26:33

标签: c# tweetinvi

我有一个用户列表,我需要在Twitter上发布消息(在我们的帐户上发布消息,然后使用@ID引用这些用户),使用tweetinvi。目前,这是我的代码。我试图每隔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));

    }

请注意,密钥,密码,令牌和tokenSecret都是分配的值,帐户会登录并发送推文,它只是没有做到这一点,它会发送一段时间然后停止。请修复错误,如果有错误,或指向我可行的解决方案。感谢

1 个答案:

答案 0 :(得分:3)

我是Tweetinvi的开发者。

正如您所提到的,推特每天推特的理论限制为2400 /天,分为30分钟(每30分钟50片)。

虽然为了防止Twitter上的垃圾邮件,他们的服务器会应用未记录的测试来确保推文是“合法的”推文。

因此,在我们考虑问题来自图书馆之前,让我们分析一下Twitter返回的内容,并尝试稍微减少您每天发布的推文数量。

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

    在错误中,您会找到2个有用的属性:TwitterExceptionInfosTwitterDescription。如果这2个属性确实无法帮助您确定问题,请分享TwitterException中提供的所有信息,我会仔细查看它们。

    周末愉快!