twikit.twikit_async
twikit.twikit_async.client
twikit.twikit_async.tweet
twikit.twikit_async.user
twikit.twikit_async.message
With the streaming API, you can receive real-time events such as tweet engagements, DM updates, and DM typings. The basic procedure involves looping through the stream session obtained with .Client.get_streaming_session
and, if necessary, updating the topics to be streamed using .StreamingSession.update_subscriptions
.
Example Code:
from twikit.streaming import Topic
topics = {
Topic.tweet_engagement('1739617652'), # Stream tweet engagement
Topic.dm_update('17544932482-174455537996'), # Stream DM update
Topic.dm_typing('17544932482-174455537996') # Stream DM typing
}
session = await client.get_streaming_session(topics)
async for topic, payload in session:
if payload.dm_update:
conversation_id = payload.dm_update.conversation_id
user_id = payload.dm_update.user_id
print(f'{conversation_id}: {user_id} sent a message')
if payload.dm_typing:
conversation_id = payload.dm_typing.conversation_id
user_id = payload.dm_typing.user_id
print(f'{conversation_id}: {user_id} is typing')
if payload.tweet_engagement:
like = payload.tweet_engagement.like_count
retweet = payload.tweet_engagement.retweet_count
view = payload.tweet_engagement.view_count
print(f'Tweet engagement updated likes: {like} retweets: {retweet} views: {view}')
twikit.twikit_async.streaming
twikit.twikit_async.trend
twikit.twikit_async.list
twikit.twikit_async.community
twikit.twikit_async.notification
twikit.geo
twikit.twikit_async.utils
twikit.twikit_async.errors