0

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

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

我尝试了以下方法:

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

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. 
4

1 回答 1

0

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

于 2020-04-30T22:06:15.833 回答