on_direct_message никогда не вызывается, когда приходит сообщение. Я использовал python3 .7 и последнюю библиотеку tweepy. в учетной записи Twitter он работает нормально, но не работает с фрагментом кода, который я использую. Но фрагмент кода хорошо работает для прослушивания твитов.
twitter_stream=Stream(auth,StdOutListener())
print('Stream created...')
twitter_stream.filter(follow=[user.id_str], is_async=True)
NB: разрешение для чтения, записи и прямого сообщения. И все параметры доступа верны
StdOutListener:
class StdOutListener( StreamListener ):
def __init__( self ):
self.tweetCount = 0
def on_connect( self ):
print("Connection established!!")
def on_disconnect( self, notice ):
print("Connection lost!! : ", notice)
def on_data( self, status ):
print("Entered on_data()")
print(status, flush = True)
return True
def on_direct_message( self, status ):
print("Entered on_direct_message()")
try:
print(status, flush = True)
return True
except BaseException as e:
print("Failed on_direct_message()", str(e))
def on_error( self, status ):
print(status)