ChaTerminal 2.0.0__tar.gz → 2.0.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. chaterminal-2.0.2/ChaTerminal.egg-info/PKG-INFO +234 -0
  2. chaterminal-2.0.2/ChaTerminal.egg-info/SOURCES.txt +33 -0
  3. chaterminal-2.0.2/ChaTerminal.egg-info/entry_points.txt +2 -0
  4. chaterminal-2.0.2/ChaTerminal.egg-info/top_level.txt +1 -0
  5. chaterminal-2.0.2/PKG-INFO +234 -0
  6. chaterminal-2.0.2/README.md +198 -0
  7. {chaterminal-2.0.0/ChaTerminal → chaterminal-2.0.2/chaterminal}/core/events.py +14 -0
  8. {chaterminal-2.0.0/ChaTerminal → chaterminal-2.0.2/chaterminal}/core/state.py +2 -0
  9. {chaterminal-2.0.0/ChaTerminal → chaterminal-2.0.2/chaterminal}/main.py +3 -0
  10. chaterminal-2.0.2/chaterminal/services/auth_service.py +188 -0
  11. {chaterminal-2.0.0/ChaTerminal → chaterminal-2.0.2/chaterminal}/services/firebase_service.py +33 -0
  12. {chaterminal-2.0.0/ChaTerminal → chaterminal-2.0.2/chaterminal}/services/message_service.py +30 -6
  13. chaterminal-2.0.2/chaterminal/services/presence_service.py +170 -0
  14. {chaterminal-2.0.0/ChaTerminal → chaterminal-2.0.2/chaterminal}/services/websocket_service.py +15 -6
  15. {chaterminal-2.0.0/ChaTerminal → chaterminal-2.0.2/chaterminal}/storage/database.py +15 -4
  16. chaterminal-2.0.2/chaterminal/ui/console.py +26 -0
  17. {chaterminal-2.0.0/ChaTerminal → chaterminal-2.0.2/chaterminal}/ui/terminal_ui.py +83 -42
  18. {chaterminal-2.0.0 → chaterminal-2.0.2}/setup.py +2 -2
  19. chaterminal-2.0.0/ChaTerminal/services/auth_service.py +0 -119
  20. chaterminal-2.0.0/ChaTerminal/services/presence_service.py +0 -82
  21. chaterminal-2.0.0/ChaTerminal/ui/console.py +0 -28
  22. chaterminal-2.0.0/ChaTerminal.egg-info/PKG-INFO +0 -158
  23. chaterminal-2.0.0/ChaTerminal.egg-info/SOURCES.txt +0 -33
  24. chaterminal-2.0.0/ChaTerminal.egg-info/entry_points.txt +0 -2
  25. chaterminal-2.0.0/ChaTerminal.egg-info/top_level.txt +0 -1
  26. chaterminal-2.0.0/PKG-INFO +0 -158
  27. chaterminal-2.0.0/README.md +0 -122
  28. {chaterminal-2.0.0 → chaterminal-2.0.2}/ChaTerminal.egg-info/dependency_links.txt +0 -0
  29. {chaterminal-2.0.0 → chaterminal-2.0.2}/ChaTerminal.egg-info/requires.txt +0 -0
  30. {chaterminal-2.0.0 → chaterminal-2.0.2}/LICENSE +0 -0
  31. {chaterminal-2.0.0/ChaTerminal → chaterminal-2.0.2/chaterminal}/__init__.py +0 -0
  32. {chaterminal-2.0.0/ChaTerminal → chaterminal-2.0.2/chaterminal}/__main__.py +0 -0
  33. {chaterminal-2.0.0/ChaTerminal → chaterminal-2.0.2/chaterminal}/core/__init__.py +0 -0
  34. {chaterminal-2.0.0/ChaTerminal → chaterminal-2.0.2/chaterminal}/core/logger.py +0 -0
  35. {chaterminal-2.0.0/ChaTerminal → chaterminal-2.0.2/chaterminal}/core/threads.py +0 -0
  36. {chaterminal-2.0.0/ChaTerminal → chaterminal-2.0.2/chaterminal}/crypto/__init__.py +0 -0
  37. {chaterminal-2.0.0/ChaTerminal → chaterminal-2.0.2/chaterminal}/crypto/encryption.py +0 -0
  38. {chaterminal-2.0.0/ChaTerminal → chaterminal-2.0.2/chaterminal}/services/__init__.py +0 -0
  39. {chaterminal-2.0.0/ChaTerminal → chaterminal-2.0.2/chaterminal}/storage/__init__.py +0 -0
  40. {chaterminal-2.0.0/ChaTerminal → chaterminal-2.0.2/chaterminal}/storage/session_store.py +0 -0
  41. {chaterminal-2.0.0/ChaTerminal → chaterminal-2.0.2/chaterminal}/ui/__init__.py +0 -0
  42. {chaterminal-2.0.0/ChaTerminal → chaterminal-2.0.2/chaterminal}/ui/panels.py +0 -0
  43. {chaterminal-2.0.0/ChaTerminal → chaterminal-2.0.2/chaterminal}/ui/splash.py +0 -0
  44. {chaterminal-2.0.0 → chaterminal-2.0.2}/setup.cfg +0 -0
@@ -0,0 +1,234 @@
1
+ Metadata-Version: 2.4
2
+ Name: ChaTerminal
3
+ Version: 2.0.2
4
+ Summary: A terminal-based encrypted chat system for MemerDevs
5
+ Home-page: https://github.com/Gofaone315/ChaTerminal
6
+ Author: Gofaone Tlalang
7
+ Author-email: gofaone315@memerdevs.com
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: License :: OSI Approved :: MIT License
10
+ Classifier: Operating System :: OS Independent
11
+ Classifier: Environment :: Console
12
+ Classifier: Topic :: Communications :: Chat
13
+ Classifier: Topic :: Security :: Cryptography
14
+ Requires-Python: >=3.10
15
+ Description-Content-Type: text/markdown
16
+ License-File: LICENSE
17
+ Requires-Dist: colorama
18
+ Requires-Dist: pyfiglet
19
+ Requires-Dist: pyreadline3; platform_system == "windows"
20
+ Requires-Dist: requests
21
+ Requires-Dist: cryptography
22
+ Requires-Dist: rich
23
+ Requires-Dist: prompt_toolkit
24
+ Requires-Dist: keyring
25
+ Requires-Dist: websocket-client
26
+ Dynamic: author
27
+ Dynamic: author-email
28
+ Dynamic: classifier
29
+ Dynamic: description
30
+ Dynamic: description-content-type
31
+ Dynamic: home-page
32
+ Dynamic: license-file
33
+ Dynamic: requires-dist
34
+ Dynamic: requires-python
35
+ Dynamic: summary
36
+
37
+ # ChaTerminal
38
+
39
+ **ChaTerminal** is the official terminal chat client for [MemerDevs](https://memerdevs.com). It lets you send end-to-end encrypted direct messages to other MemerDevs users from your terminal.
40
+
41
+ ![Python](https://img.shields.io/badge/Python-3.10+-blue.svg)
42
+ ![License](https://img.shields.io/github/license/Gofaone315/ChaTerminal)
43
+ ![Platform](https://img.shields.io/badge/Platform-Terminal-informational)
44
+ ![Version](https://img.shields.io/badge/Version-2.0.2-brightgreen)
45
+
46
+ ---
47
+
48
+ ## Features
49
+
50
+ - End-to-end encrypted direct messages
51
+ - Real-time messages when both users are online
52
+ - Offline message sync when a linked recipient comes back online
53
+ - Recent chat history on startup
54
+ - Online user list for users who choose to show terminal presence
55
+ - One active terminal session per MemerDevs account
56
+ - Web settings for privacy, linking, and session revocation
57
+
58
+ ---
59
+
60
+ ## Installation
61
+
62
+ ChaTerminal requires **Python 3.10 or later**.
63
+
64
+ Install it with pip:
65
+
66
+ ```bash
67
+ pip install ChaTerminal
68
+ ```
69
+
70
+ To update an existing install:
71
+
72
+ ```bash
73
+ pip install --upgrade ChaTerminal
74
+ ```
75
+
76
+ ---
77
+
78
+ ## Quick Start
79
+
80
+ ### 1. Run ChaTerminal
81
+
82
+ Open your terminal and run:
83
+
84
+ ```bash
85
+ ChaTerminal
86
+ ```
87
+
88
+ If this is your first time using ChaTerminal, or if your session was revoked, the app will show an activation code.
89
+
90
+ Example:
91
+
92
+ ```text
93
+ ChaTerminal - Link Account
94
+
95
+ 1. Open MemerDevs in your browser
96
+ 2. Go to Settings -> ChaTerminal
97
+ 3. Enter the activation code
98
+
99
+ Activation code: A1B2C3D4
100
+
101
+ Waiting for authorisation 04:59
102
+ ```
103
+
104
+ Activation codes expire after a few minutes. If the timer runs out, restart ChaTerminal to get a new code.
105
+
106
+ ### 2. Link Your MemerDevs Account
107
+
108
+ 1. Go to [memerdevs.com/settings](https://memerdevs.com/settings).
109
+ 2. Scroll to the **ChaTerminal** section.
110
+ 3. Enter the activation code shown in your terminal.
111
+ 4. Click **Link Terminal**.
112
+
113
+ Keep ChaTerminal open while you do this. Once linking succeeds, the terminal will continue automatically.
114
+
115
+ ### 3. Start Chatting
116
+
117
+ After linking, ChaTerminal shows your recent message history and opens a prompt:
118
+
119
+ ```text
120
+ >
121
+ ```
122
+
123
+ Type a command and press **Enter**.
124
+
125
+ ---
126
+
127
+ ## Commands
128
+
129
+ | Command | What it does |
130
+ | --- | --- |
131
+ | `/dm <username> <message>` | Send a private message |
132
+ | `/list` | Show currently online ChaTerminal users |
133
+ | `/help` | Show available commands |
134
+ | `/exit` | Disconnect and close ChaTerminal |
135
+
136
+ Examples:
137
+
138
+ ```text
139
+ > /dm gofaone315 Hey, are you online?
140
+ ```
141
+
142
+ ```text
143
+ > /list
144
+ ```
145
+
146
+ ---
147
+
148
+ ## Usernames
149
+
150
+ Use the MemerDevs username slug from a profile URL.
151
+
152
+ For example, if the profile URL is:
153
+
154
+ ```text
155
+ https://memerdevs.com/u/johndoe
156
+ ```
157
+
158
+ Send a message with:
159
+
160
+ ```text
161
+ > /dm johndoe Hello from ChaTerminal
162
+ ```
163
+
164
+ ---
165
+
166
+ ## Privacy And Sessions
167
+
168
+ You can manage ChaTerminal from [MemerDevs Settings](https://memerdevs.com/settings).
169
+
170
+ In the **ChaTerminal** section, you can:
171
+
172
+ - Link a terminal session
173
+ - Revoke your active terminal session
174
+ - Choose who can message you
175
+ - Show or hide your terminal online status
176
+
177
+ If you hide your online status, you will not appear in other users' `/list` results.
178
+
179
+ ChaTerminal allows one active terminal session per account. If you link or start ChaTerminal on another device, the previous terminal session will be signed out.
180
+
181
+ ---
182
+
183
+ ## Message Delivery
184
+
185
+ Messages are encrypted before they leave your machine.
186
+
187
+ When both users are online, messages are delivered in real time. If the recipient has a linked ChaTerminal session but is offline, the message is delivered when they reconnect.
188
+
189
+ If a user has not linked ChaTerminal, or their terminal session was revoked, you may see a message saying that they do not have an active terminal session.
190
+
191
+ ---
192
+
193
+ ## Troubleshooting
194
+
195
+ ### The activation code expired
196
+
197
+ Restart ChaTerminal and enter the new code in MemerDevs Settings.
198
+
199
+ ### The activation code is not accepted
200
+
201
+ Make sure you entered all 8 characters exactly as shown. If it still fails, restart ChaTerminal and use the new code.
202
+
203
+ ### I was signed out
204
+
205
+ This can happen if:
206
+
207
+ - You revoked the session from MemerDevs Settings
208
+ - You linked ChaTerminal on another device
209
+ - Your MemerDevs session expired
210
+
211
+ Run `ChaTerminal` again and link your account if prompted.
212
+
213
+ ### I cannot message someone
214
+
215
+ The other user may not have linked ChaTerminal, may have revoked their terminal session, or may only allow messages from followers.
216
+
217
+ ### `/list` does not show someone
218
+
219
+ They may be offline, or they may have disabled terminal online status in MemerDevs Settings.
220
+
221
+ ---
222
+
223
+ ## License
224
+
225
+ This project is proprietary. See `LICENSE` for more info.
226
+
227
+ ## Author
228
+
229
+ **Gofaone Tlalang**
230
+ GitHub: [@Gofaone315](https://github.com/Gofaone315)
231
+
232
+ ---
233
+
234
+ **ChaTerminal** - real-time end-to-end encrypted chat from your terminal.
@@ -0,0 +1,33 @@
1
+ LICENSE
2
+ README.md
3
+ setup.py
4
+ ChaTerminal.egg-info/PKG-INFO
5
+ ChaTerminal.egg-info/SOURCES.txt
6
+ ChaTerminal.egg-info/dependency_links.txt
7
+ ChaTerminal.egg-info/entry_points.txt
8
+ ChaTerminal.egg-info/requires.txt
9
+ ChaTerminal.egg-info/top_level.txt
10
+ chaterminal/__init__.py
11
+ chaterminal/__main__.py
12
+ chaterminal/main.py
13
+ chaterminal/core/__init__.py
14
+ chaterminal/core/events.py
15
+ chaterminal/core/logger.py
16
+ chaterminal/core/state.py
17
+ chaterminal/core/threads.py
18
+ chaterminal/crypto/__init__.py
19
+ chaterminal/crypto/encryption.py
20
+ chaterminal/services/__init__.py
21
+ chaterminal/services/auth_service.py
22
+ chaterminal/services/firebase_service.py
23
+ chaterminal/services/message_service.py
24
+ chaterminal/services/presence_service.py
25
+ chaterminal/services/websocket_service.py
26
+ chaterminal/storage/__init__.py
27
+ chaterminal/storage/database.py
28
+ chaterminal/storage/session_store.py
29
+ chaterminal/ui/__init__.py
30
+ chaterminal/ui/console.py
31
+ chaterminal/ui/panels.py
32
+ chaterminal/ui/splash.py
33
+ chaterminal/ui/terminal_ui.py
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ ChaTerminal = chaterminal.main:main
@@ -0,0 +1 @@
1
+ chaterminal
@@ -0,0 +1,234 @@
1
+ Metadata-Version: 2.4
2
+ Name: ChaTerminal
3
+ Version: 2.0.2
4
+ Summary: A terminal-based encrypted chat system for MemerDevs
5
+ Home-page: https://github.com/Gofaone315/ChaTerminal
6
+ Author: Gofaone Tlalang
7
+ Author-email: gofaone315@memerdevs.com
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: License :: OSI Approved :: MIT License
10
+ Classifier: Operating System :: OS Independent
11
+ Classifier: Environment :: Console
12
+ Classifier: Topic :: Communications :: Chat
13
+ Classifier: Topic :: Security :: Cryptography
14
+ Requires-Python: >=3.10
15
+ Description-Content-Type: text/markdown
16
+ License-File: LICENSE
17
+ Requires-Dist: colorama
18
+ Requires-Dist: pyfiglet
19
+ Requires-Dist: pyreadline3; platform_system == "windows"
20
+ Requires-Dist: requests
21
+ Requires-Dist: cryptography
22
+ Requires-Dist: rich
23
+ Requires-Dist: prompt_toolkit
24
+ Requires-Dist: keyring
25
+ Requires-Dist: websocket-client
26
+ Dynamic: author
27
+ Dynamic: author-email
28
+ Dynamic: classifier
29
+ Dynamic: description
30
+ Dynamic: description-content-type
31
+ Dynamic: home-page
32
+ Dynamic: license-file
33
+ Dynamic: requires-dist
34
+ Dynamic: requires-python
35
+ Dynamic: summary
36
+
37
+ # ChaTerminal
38
+
39
+ **ChaTerminal** is the official terminal chat client for [MemerDevs](https://memerdevs.com). It lets you send end-to-end encrypted direct messages to other MemerDevs users from your terminal.
40
+
41
+ ![Python](https://img.shields.io/badge/Python-3.10+-blue.svg)
42
+ ![License](https://img.shields.io/github/license/Gofaone315/ChaTerminal)
43
+ ![Platform](https://img.shields.io/badge/Platform-Terminal-informational)
44
+ ![Version](https://img.shields.io/badge/Version-2.0.2-brightgreen)
45
+
46
+ ---
47
+
48
+ ## Features
49
+
50
+ - End-to-end encrypted direct messages
51
+ - Real-time messages when both users are online
52
+ - Offline message sync when a linked recipient comes back online
53
+ - Recent chat history on startup
54
+ - Online user list for users who choose to show terminal presence
55
+ - One active terminal session per MemerDevs account
56
+ - Web settings for privacy, linking, and session revocation
57
+
58
+ ---
59
+
60
+ ## Installation
61
+
62
+ ChaTerminal requires **Python 3.10 or later**.
63
+
64
+ Install it with pip:
65
+
66
+ ```bash
67
+ pip install ChaTerminal
68
+ ```
69
+
70
+ To update an existing install:
71
+
72
+ ```bash
73
+ pip install --upgrade ChaTerminal
74
+ ```
75
+
76
+ ---
77
+
78
+ ## Quick Start
79
+
80
+ ### 1. Run ChaTerminal
81
+
82
+ Open your terminal and run:
83
+
84
+ ```bash
85
+ ChaTerminal
86
+ ```
87
+
88
+ If this is your first time using ChaTerminal, or if your session was revoked, the app will show an activation code.
89
+
90
+ Example:
91
+
92
+ ```text
93
+ ChaTerminal - Link Account
94
+
95
+ 1. Open MemerDevs in your browser
96
+ 2. Go to Settings -> ChaTerminal
97
+ 3. Enter the activation code
98
+
99
+ Activation code: A1B2C3D4
100
+
101
+ Waiting for authorisation 04:59
102
+ ```
103
+
104
+ Activation codes expire after a few minutes. If the timer runs out, restart ChaTerminal to get a new code.
105
+
106
+ ### 2. Link Your MemerDevs Account
107
+
108
+ 1. Go to [memerdevs.com/settings](https://memerdevs.com/settings).
109
+ 2. Scroll to the **ChaTerminal** section.
110
+ 3. Enter the activation code shown in your terminal.
111
+ 4. Click **Link Terminal**.
112
+
113
+ Keep ChaTerminal open while you do this. Once linking succeeds, the terminal will continue automatically.
114
+
115
+ ### 3. Start Chatting
116
+
117
+ After linking, ChaTerminal shows your recent message history and opens a prompt:
118
+
119
+ ```text
120
+ >
121
+ ```
122
+
123
+ Type a command and press **Enter**.
124
+
125
+ ---
126
+
127
+ ## Commands
128
+
129
+ | Command | What it does |
130
+ | --- | --- |
131
+ | `/dm <username> <message>` | Send a private message |
132
+ | `/list` | Show currently online ChaTerminal users |
133
+ | `/help` | Show available commands |
134
+ | `/exit` | Disconnect and close ChaTerminal |
135
+
136
+ Examples:
137
+
138
+ ```text
139
+ > /dm gofaone315 Hey, are you online?
140
+ ```
141
+
142
+ ```text
143
+ > /list
144
+ ```
145
+
146
+ ---
147
+
148
+ ## Usernames
149
+
150
+ Use the MemerDevs username slug from a profile URL.
151
+
152
+ For example, if the profile URL is:
153
+
154
+ ```text
155
+ https://memerdevs.com/u/johndoe
156
+ ```
157
+
158
+ Send a message with:
159
+
160
+ ```text
161
+ > /dm johndoe Hello from ChaTerminal
162
+ ```
163
+
164
+ ---
165
+
166
+ ## Privacy And Sessions
167
+
168
+ You can manage ChaTerminal from [MemerDevs Settings](https://memerdevs.com/settings).
169
+
170
+ In the **ChaTerminal** section, you can:
171
+
172
+ - Link a terminal session
173
+ - Revoke your active terminal session
174
+ - Choose who can message you
175
+ - Show or hide your terminal online status
176
+
177
+ If you hide your online status, you will not appear in other users' `/list` results.
178
+
179
+ ChaTerminal allows one active terminal session per account. If you link or start ChaTerminal on another device, the previous terminal session will be signed out.
180
+
181
+ ---
182
+
183
+ ## Message Delivery
184
+
185
+ Messages are encrypted before they leave your machine.
186
+
187
+ When both users are online, messages are delivered in real time. If the recipient has a linked ChaTerminal session but is offline, the message is delivered when they reconnect.
188
+
189
+ If a user has not linked ChaTerminal, or their terminal session was revoked, you may see a message saying that they do not have an active terminal session.
190
+
191
+ ---
192
+
193
+ ## Troubleshooting
194
+
195
+ ### The activation code expired
196
+
197
+ Restart ChaTerminal and enter the new code in MemerDevs Settings.
198
+
199
+ ### The activation code is not accepted
200
+
201
+ Make sure you entered all 8 characters exactly as shown. If it still fails, restart ChaTerminal and use the new code.
202
+
203
+ ### I was signed out
204
+
205
+ This can happen if:
206
+
207
+ - You revoked the session from MemerDevs Settings
208
+ - You linked ChaTerminal on another device
209
+ - Your MemerDevs session expired
210
+
211
+ Run `ChaTerminal` again and link your account if prompted.
212
+
213
+ ### I cannot message someone
214
+
215
+ The other user may not have linked ChaTerminal, may have revoked their terminal session, or may only allow messages from followers.
216
+
217
+ ### `/list` does not show someone
218
+
219
+ They may be offline, or they may have disabled terminal online status in MemerDevs Settings.
220
+
221
+ ---
222
+
223
+ ## License
224
+
225
+ This project is proprietary. See `LICENSE` for more info.
226
+
227
+ ## Author
228
+
229
+ **Gofaone Tlalang**
230
+ GitHub: [@Gofaone315](https://github.com/Gofaone315)
231
+
232
+ ---
233
+
234
+ **ChaTerminal** - real-time end-to-end encrypted chat from your terminal.
@@ -0,0 +1,198 @@
1
+ # ChaTerminal
2
+
3
+ **ChaTerminal** is the official terminal chat client for [MemerDevs](https://memerdevs.com). It lets you send end-to-end encrypted direct messages to other MemerDevs users from your terminal.
4
+
5
+ ![Python](https://img.shields.io/badge/Python-3.10+-blue.svg)
6
+ ![License](https://img.shields.io/github/license/Gofaone315/ChaTerminal)
7
+ ![Platform](https://img.shields.io/badge/Platform-Terminal-informational)
8
+ ![Version](https://img.shields.io/badge/Version-2.0.2-brightgreen)
9
+
10
+ ---
11
+
12
+ ## Features
13
+
14
+ - End-to-end encrypted direct messages
15
+ - Real-time messages when both users are online
16
+ - Offline message sync when a linked recipient comes back online
17
+ - Recent chat history on startup
18
+ - Online user list for users who choose to show terminal presence
19
+ - One active terminal session per MemerDevs account
20
+ - Web settings for privacy, linking, and session revocation
21
+
22
+ ---
23
+
24
+ ## Installation
25
+
26
+ ChaTerminal requires **Python 3.10 or later**.
27
+
28
+ Install it with pip:
29
+
30
+ ```bash
31
+ pip install ChaTerminal
32
+ ```
33
+
34
+ To update an existing install:
35
+
36
+ ```bash
37
+ pip install --upgrade ChaTerminal
38
+ ```
39
+
40
+ ---
41
+
42
+ ## Quick Start
43
+
44
+ ### 1. Run ChaTerminal
45
+
46
+ Open your terminal and run:
47
+
48
+ ```bash
49
+ ChaTerminal
50
+ ```
51
+
52
+ If this is your first time using ChaTerminal, or if your session was revoked, the app will show an activation code.
53
+
54
+ Example:
55
+
56
+ ```text
57
+ ChaTerminal - Link Account
58
+
59
+ 1. Open MemerDevs in your browser
60
+ 2. Go to Settings -> ChaTerminal
61
+ 3. Enter the activation code
62
+
63
+ Activation code: A1B2C3D4
64
+
65
+ Waiting for authorisation 04:59
66
+ ```
67
+
68
+ Activation codes expire after a few minutes. If the timer runs out, restart ChaTerminal to get a new code.
69
+
70
+ ### 2. Link Your MemerDevs Account
71
+
72
+ 1. Go to [memerdevs.com/settings](https://memerdevs.com/settings).
73
+ 2. Scroll to the **ChaTerminal** section.
74
+ 3. Enter the activation code shown in your terminal.
75
+ 4. Click **Link Terminal**.
76
+
77
+ Keep ChaTerminal open while you do this. Once linking succeeds, the terminal will continue automatically.
78
+
79
+ ### 3. Start Chatting
80
+
81
+ After linking, ChaTerminal shows your recent message history and opens a prompt:
82
+
83
+ ```text
84
+ >
85
+ ```
86
+
87
+ Type a command and press **Enter**.
88
+
89
+ ---
90
+
91
+ ## Commands
92
+
93
+ | Command | What it does |
94
+ | --- | --- |
95
+ | `/dm <username> <message>` | Send a private message |
96
+ | `/list` | Show currently online ChaTerminal users |
97
+ | `/help` | Show available commands |
98
+ | `/exit` | Disconnect and close ChaTerminal |
99
+
100
+ Examples:
101
+
102
+ ```text
103
+ > /dm gofaone315 Hey, are you online?
104
+ ```
105
+
106
+ ```text
107
+ > /list
108
+ ```
109
+
110
+ ---
111
+
112
+ ## Usernames
113
+
114
+ Use the MemerDevs username slug from a profile URL.
115
+
116
+ For example, if the profile URL is:
117
+
118
+ ```text
119
+ https://memerdevs.com/u/johndoe
120
+ ```
121
+
122
+ Send a message with:
123
+
124
+ ```text
125
+ > /dm johndoe Hello from ChaTerminal
126
+ ```
127
+
128
+ ---
129
+
130
+ ## Privacy And Sessions
131
+
132
+ You can manage ChaTerminal from [MemerDevs Settings](https://memerdevs.com/settings).
133
+
134
+ In the **ChaTerminal** section, you can:
135
+
136
+ - Link a terminal session
137
+ - Revoke your active terminal session
138
+ - Choose who can message you
139
+ - Show or hide your terminal online status
140
+
141
+ If you hide your online status, you will not appear in other users' `/list` results.
142
+
143
+ ChaTerminal allows one active terminal session per account. If you link or start ChaTerminal on another device, the previous terminal session will be signed out.
144
+
145
+ ---
146
+
147
+ ## Message Delivery
148
+
149
+ Messages are encrypted before they leave your machine.
150
+
151
+ When both users are online, messages are delivered in real time. If the recipient has a linked ChaTerminal session but is offline, the message is delivered when they reconnect.
152
+
153
+ If a user has not linked ChaTerminal, or their terminal session was revoked, you may see a message saying that they do not have an active terminal session.
154
+
155
+ ---
156
+
157
+ ## Troubleshooting
158
+
159
+ ### The activation code expired
160
+
161
+ Restart ChaTerminal and enter the new code in MemerDevs Settings.
162
+
163
+ ### The activation code is not accepted
164
+
165
+ Make sure you entered all 8 characters exactly as shown. If it still fails, restart ChaTerminal and use the new code.
166
+
167
+ ### I was signed out
168
+
169
+ This can happen if:
170
+
171
+ - You revoked the session from MemerDevs Settings
172
+ - You linked ChaTerminal on another device
173
+ - Your MemerDevs session expired
174
+
175
+ Run `ChaTerminal` again and link your account if prompted.
176
+
177
+ ### I cannot message someone
178
+
179
+ The other user may not have linked ChaTerminal, may have revoked their terminal session, or may only allow messages from followers.
180
+
181
+ ### `/list` does not show someone
182
+
183
+ They may be offline, or they may have disabled terminal online status in MemerDevs Settings.
184
+
185
+ ---
186
+
187
+ ## License
188
+
189
+ This project is proprietary. See `LICENSE` for more info.
190
+
191
+ ## Author
192
+
193
+ **Gofaone Tlalang**
194
+ GitHub: [@Gofaone315](https://github.com/Gofaone315)
195
+
196
+ ---
197
+
198
+ **ChaTerminal** - real-time end-to-end encrypted chat from your terminal.