james
james

Reputation: 383

How to send a direct message with Twython?

I know this is a beginner question, but can someone please provide some sample code of sending a Twitter direct message (just text) with Twython? I can't seems to find a lot of specific documentation over this (I know it's briefly covered in the official docs but they aren't super clear to me). Thank you!

Upvotes: 1

Views: 307

Answers (1)

james
james

Reputation: 383

Solution


    twitter.send_direct_message(event = {"type": "message_create",
    "message_create":{"target": {"recipient_id": ID goes here},
    "message_data":
    {"text": "Hello World!"}}})

Explanation


In short, you take the raw JSON data that you would send as a POST request to Twitter, and use it as a parameter in the twitter.send_direct_message() function. When using the JSON as a parameter in Python, we must interpret it as a dictionary. This can be done by setting the parent object as the dictionary key, and what follows as the dictionary value. So, in my case the JSON:

{"event" : {"type": "message_create",
    "message_create":{"target": {"recipient_id": ID goes here},
    "message_data":
    {"text": "Hello World!"}}}}

becomes:

event = {"type": "message_create",
    "message_create":{"target": {"recipient_id": ID goes here},
    "message_data":
    {"text": "Hello World!"}}}

More information about what JSON data to send to Twitter for specific direct message requests can be found here.

Upvotes: 1

Related Questions