Skip to content

Latest commit

 

History

History
150 lines (117 loc) · 3.63 KB

twikit.twikit_async.rst

File metadata and controls

150 lines (117 loc) · 3.63 KB

twikit.twikit_async package

twikit.twikit_async

Client

twikit.twikit_async.client

Tweet

twikit.twikit_async.tweet

User

twikit.twikit_async.user

Message

twikit.twikit_async.message

Streaming

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

Trend

twikit.twikit_async.trend

List

twikit.twikit_async.list

Community

twikit.twikit_async.community

Notification

twikit.twikit_async.notification

Geo

twikit.geo

Utils

twikit.twikit_async.utils

Errors

twikit.twikit_async.errors