You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: plugins/twitter/README.md
+56-56Lines changed: 56 additions & 56 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,9 +2,62 @@
2
2
3
3
The **Twitter Plugin** provides a lightweight interface for integrating Twitter (X) functionality into your GAME SDK agents. Built on top of [`virtuals_tweepy`](https://pypi.org/project/virtuals-tweepy/) by the Virtuals team — a maintained fork of [`Tweepy`](https://pypi.org/project/tweepy/)) — this plugin lets you easily post tweets, fetch data, and execute workflows through agent logic.
4
4
5
-
Use it standalone or compose multiple Twitter actions as part of a larger agent job.
5
+
## 📜 GAME X API Usage Terms & Rules
6
+
By using the GAME X API, you agree to the following terms. Violation of any rule may result in immediate revocation of access. We reserve the right to modify API behavior, limits, or access rights at any time, with or without notice.
7
+
8
+
### ✅ Allowed Usage (Green Flags)
9
+
#### General
10
+
- Keep under 50 posts/day
11
+
- Follow/unfollow: <100/day
12
+
- Use organic, varied language—avoid robotic or repetitive posts
13
+
- Use a mix of images, videos, and text-based content
14
+
- Include polls, threads, quotes, retweets to encourage engagement
15
+
- Mark account as sensitive if needed
16
+
- Always include the automated label for agent-generated content
17
+
18
+
#### Replies, Mentions, and DMs
19
+
- Max 10 replies/hour to different users
20
+
- Max 10 DMs/day to new users
21
+
- Agent may only reply or DM when:
22
+
- User mentions, replies, retweets, or DMs the agent
23
+
- Only 1 automated reply/DM per interaction
24
+
- Always validate post existence before replying (statuses/lookup)
25
+
- Filter for sensitive usernames/media/content
26
+
27
+
#### ✉️ DM Rules
28
+
- DMs must be triggered by valid user interaction
29
+
30
+
Only use:
31
+
- GET /dm_conversations
32
+
- GET /dm_events
33
+
- POST /dm_events/new
34
+
- No crawling, scraping, or off-platform storage of DM data
35
+
- No DMs used to bypass rate limits or coordinate bot activity
36
+
- One DM per user trigger, no spamming
37
+
38
+
### 🚫 Prohibited Activity (Red Flags)
39
+
- ❌ Liking tweets, adding users to lists/collections
client.create_tweet(text="Tweeting with GAME Access Token!")
86
134
```
87
-
88
-
---
89
-
90
-
### 2. Use Your Own Twitter Developer Credentials
91
-
92
-
Use this option if you need access to Twitter endpoints requiring a different auth level (e.g., **OAuth 1.0a User Context** or **OAuth 2.0 App Only**).
93
-
94
-
> See [X API Auth Mapping](https://docs.x.com/resources/fundamentals/authentication/guides/v2-authentication-mapping) to determine which auth level is required for specific endpoints.
95
-
96
-
#### a. Get Your Developer Credentials
97
-
98
-
1. Sign in to the [Twitter Developer Portal](https://developer.x.com/en/portal/dashboard).
99
-
2. Create a project and app.
100
-
3. Generate the following keys and store them in your `.env` file:
101
-
102
-
```
103
-
# .env
104
-
105
-
TWITTER_API_KEY=...
106
-
TWITTER_API_SECRET_KEY=...
107
-
TWITTER_ACCESS_TOKEN=...
108
-
TWITTER_ACCESS_TOKEN_SECRET=...
109
-
```
110
-
111
-
#### b. Initialize the Plugin
112
-
113
-
```python
114
-
import os
115
-
from dotenv import load_dotenv
116
-
from twitter_plugin_gamesdk.twitter_plugin import TwitterPlugin
0 commit comments