tweetinvi,我无法检索消息

时间:2017-07-27 20:56:00

标签: c# twitter tweetinvi

我想监视检索消息,以便机器人可以响应它们。

我可以使用tweetinvi发送pm但由于某种原因,我无法检索该帐户中的任何邮件。 GetLastMessage始终返回null。

我尝试了以下内容:

在这个测试中,我有一个每1秒运行一次的计时器并对消息进行轮询。

private static void OnTwitterTimedEvent(Object source, System.Timers.ElapsedEventArgs e)
{
    try
    {
        IEnumerable<IMessage> MSG  = controller.GetLatestMessagesReceived(); ; // Message.GetLatestMessagesReceived(100);

        if (MSG != null)
        {
            Console.WriteLine(MSG.ElementAt(0).SenderScreenName + MSG.ElementAt(0).Text);

            if ((MSG.ElementAt(0).SenderId == ####MYID#####) & (MSG.ElementAt(0).Text == "?"))
            {
                Message.PublishMessage(tweet, ####MYID#####);
                Console.ForegroundColor = ConsoleColor.DarkGreen;
                Console.WriteLine(MSG.ElementAt(0).SenderScreenName + MSG.ElementAt(0).Text);
                Console.ResetColor();
                Message.DestroyMessage(MSG.ElementAt(0));
            }
        }
    } catch
    {
        }

}

我也试过

   private static void OnTwitterTimedEvent(Object source, System.Timers.ElapsedEventArgs e)
    {

        try
        {
            var latestMessagesSent = Message.GetLatestMessagesSent();
            var latestMessagesSentParameter = new MessagesSentParameters();
            latestMessagesSentParameter.PageNumber = 239823;
            var latestMessagesSentFromParameter = Message.GetLatestMessagesSent(latestMessagesSentParameter);

            if (latestMessagesSentFromParameter != null)
            {
                Console.WriteLine("Messages Send : ");
                foreach (var mms in latestMessagesSentFromParameter)
                {
                    Console.WriteLine("- '{0}'", mms.Text);
                }

            }
        } catch
        {
        }

    }

我也尝试过使用

IAuthenticatedUser authenticatedUser = User.GetAuthenticatedUser(); authenticatedUser.GetLatestMessagesReceived();

我正在使用

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Timers;
using System.Threading.Tasks;
using System.Collections;
using System.Globalization;
//using System.Threading;
using System.IO;
using System.Net;
using System.Diagnostics;
using System.Net;
using System.Reflection;

// REST API
using Tweetinvi;
using Tweetinvi.Models;
using Tweetinvi.Parameters;

// STREAM API
using Tweetinvi.Streaming;
using Stream = Tweetinvi.Stream;

// Others
using Tweetinvi.Exceptions; // Handle Exceptions
using Tweetinvi.Core.Extensions; // Extension methods provided by Tweetinvi
using Tweetinvi.Models.DTO; // Data Transfer Objects for Serialization
using Tweetinvi.Json; // JSON static classes to get json from Twitter. 

1 个答案:

答案 0 :(得分:0)

您的应用必须具有在twitter API上进行读写的权限。