tweetinvi, я не могу получить сообщения

Я хочу отслеживать получение сообщений, чтобы бот мог на них отвечать.

Я могу отправить личное сообщение с помощью tweetinvi, но по какой-то причине я не могу получить ни одно из сообщений в этой учетной записи. GetLastMessage всегда возвращает ноль.

Я пробовал следующее:

в этом тесте у меня есть таймер, который запускается каждую 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
        {
        }

    }

Я также пытался использовать

IAuthenticatedUserauthenticatedUser = User.GetAuthenticatedUser(); аутентифицированный пользователь.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. 

person etherion    schedule 27.07.2017    source источник
comment
Приложение имеет права на чтение, запись и DM.   -  person etherion    schedule 28.07.2017
comment
Так нашел проблему. Мне пришлось перегенерировать токены, так как изменение разрешений закодировано в токенах.   -  person etherion    schedule 30.07.2017


Ответы (1)


Ваше приложение должно иметь разрешение на чтение и запись в twitter API.

person Felipe Guimaraes    schedule 30.04.2020