Xonotic QuakeC
The free, fast arena FPS with crisp movement and a wide array of weapons
matrix.qh File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void MX_Forget (string room)
void MX_Join (string room)
void MX_Leave (string room)
void MX_Messages (string from)
void MX_Nick (string name)
void MX_Say (string body)
void MX_Sync (string since)
void MX_Typing (bool state)
var void (int buf, string ancestor) MX_Handle

Variables

string autocvar_matrix_server = "http://matrix.org"
string matrix_access_token
string matrix_room
string matrix_user

Function Documentation

◆ MX_Forget()

void MX_Forget ( string room)

Definition at line 135 of file matrix.qc.

136{
137 if (!matrix_access_token) return;
139 sprintf("%s/_matrix/client/r0/rooms/%s/forget?access_token=%s", autocvar_matrix_server, matrix_room, matrix_access_token),
141 MX_JLF_,
142 NULL
143 );
144}
const float FILE_WRITE
void MX_JLF_(entity fh, entity pass, int status)
Definition matrix.qc:145
string matrix_access_token
Definition matrix.qh:5
string matrix_room
Definition matrix.qh:6
string autocvar_matrix_server
Definition matrix.qh:3
#define NULL
Definition post.qh:14
ERASEABLE void url_single_fopen(string url, int mode, url_ready_func rdy, entity pass)
Definition urllib.qc:87

References autocvar_matrix_server, FILE_WRITE, matrix_access_token, matrix_room, MX_JLF_(), NULL, and url_single_fopen().

Referenced by GENERIC_COMMAND().

◆ MX_Join()

void MX_Join ( string room)

Definition at line 115 of file matrix.qc.

116{
117 if (!matrix_access_token) return;
119 sprintf("%s/_matrix/client/r0/rooms/%s/join?access_token=%s", autocvar_matrix_server, matrix_room, matrix_access_token),
121 MX_JLF_,
122 NULL
123 );
124}

References autocvar_matrix_server, FILE_WRITE, matrix_access_token, matrix_room, MX_JLF_(), NULL, and url_single_fopen().

Referenced by GENERIC_COMMAND().

◆ MX_Leave()

void MX_Leave ( string room)

Definition at line 125 of file matrix.qc.

126{
127 if (!matrix_access_token) return;
129 sprintf("%s/_matrix/client/r0/rooms/%s/leave?access_token=%s", autocvar_matrix_server, matrix_room, matrix_access_token),
131 MX_JLF_,
132 NULL
133 );
134}

References autocvar_matrix_server, FILE_WRITE, matrix_access_token, matrix_room, MX_JLF_(), NULL, and url_single_fopen().

Referenced by GENERIC_COMMAND().

◆ MX_Messages()

void MX_Messages ( string from)

Definition at line 34 of file matrix.qc.

35{
36 if (!matrix_access_token) return;
37 string s = sprintf("%s/_matrix/client/r0/events?room_id=%s&limit=50&timeout=30000&from=%s&access_token=%s", autocvar_matrix_server, matrix_room, from, matrix_access_token);
39 s,
42 NULL
43 );
44}
const float FILE_READ
void MX_Messages_(entity fh, entity pass, int status)
Definition matrix.qc:45

References autocvar_matrix_server, FILE_READ, matrix_access_token, matrix_room, MX_Messages_(), NULL, and url_single_fopen().

Referenced by GENERIC_COMMAND(), and MX_Messages_().

◆ MX_Nick()

void MX_Nick ( string name)

Definition at line 6 of file matrix.qc.

7{
8 if (!matrix_access_token) return;
9 entity pass = new_pure(mx);
10 pass.message = name;
12 sprintf("%s/_matrix/client/r0/profile/%s/displayname?access_token=%s", autocvar_matrix_server, matrix_user, matrix_access_token),
15 pass
16 );
17}
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
#define pass(name, colormin, colormax)
void MX_Nick_(entity fh, entity pass, int status)
Definition matrix.qc:18
string matrix_user
Definition matrix.qh:4
string name
Definition menu.qh:30
#define new_pure(class)
purely logical entities (not linked to the area grid)
Definition oo.qh:67

References autocvar_matrix_server, entity(), FILE_WRITE, matrix_access_token, matrix_user, MX_Nick_(), name, new_pure, pass, and url_single_fopen().

Referenced by GENERIC_COMMAND().

◆ MX_Say()

void MX_Say ( string body)

Definition at line 187 of file matrix.qc.

188{
189 if (!matrix_access_token) return;
190 static int txnid;
191 entity pass = new_pure(mx);
192 pass.message = strzone(body);
194 sprintf("%s/_matrix/client/r0/rooms/%s/send/m.room.message/%d?access_token=%s", autocvar_matrix_server, matrix_room, ++txnid, matrix_access_token),
196 MX_Say_,
197 pass
198 );
199}
void MX_Say_(entity fh, entity pass, int status)
Definition matrix.qc:200
string strzone(string s)

References autocvar_matrix_server, entity(), FILE_WRITE, matrix_access_token, matrix_room, MX_Say_(), new_pure, pass, strzone(), and url_single_fopen().

Referenced by GENERIC_COMMAND(), and Say().

◆ MX_Sync()

void MX_Sync ( string since)

Definition at line 70 of file matrix.qc.

71{
72 if (!matrix_access_token) return;
73 string s = strcat(autocvar_matrix_server, "/_matrix/client/r0/sync?");
74 if (since) {
75 s = strcat(s,
76 "since=", since, "&",
77 "timeout=30000&",
78 sprintf("filter={\"account_data\":{\"types\":[]},\"presence\":{\"types\":[]},\"room\":{\"rooms\":[\"%s\"]}}&", matrix_room)
79 );
80 } else {
81 s = strcat(s,
82 "timeout=0&",
83 "filter={\"account_data\":{\"types\":[]},\"presence\":{\"types\":[]},\"room\":{\"rooms\":[]}}&"
84 );
85 }
86 s = strcat(s, "access_token=", matrix_access_token);
88}
void MX_Sync_(entity fh, entity pass, int status)
Definition matrix.qc:89
strcat(_("^F4Countdown stopped!"), "\n^BG", _("Teams are too unbalanced."))

References autocvar_matrix_server, FILE_READ, matrix_access_token, matrix_room, MX_Sync_(), NULL, strcat(), and url_single_fopen().

Referenced by GENERIC_COMMAND(), and MX_Sync_().

◆ MX_Typing()

void MX_Typing ( bool state)

Definition at line 159 of file matrix.qc.

160{
161 if (!matrix_access_token) return;
162 entity pass = new_pure(mx);
163 pass.message = state ? "true" : "false";
165 sprintf("%s/_matrix/client/r0/rooms/%s/typing/%s?access_token=%s", autocvar_matrix_server, matrix_room, matrix_user, matrix_access_token),
168 pass
169 );
170}
int state
void MX_Typing_(entity fh, entity pass, int status)
Definition matrix.qc:171

References autocvar_matrix_server, entity(), FILE_WRITE, matrix_access_token, matrix_room, matrix_user, MX_Typing_(), new_pure, pass, state, and url_single_fopen().

Referenced by GENERIC_COMMAND().

◆ void()

var void ( int buf,
string ancestor )

References MX_Handle().

Variable Documentation

◆ autocvar_matrix_server

string autocvar_matrix_server = "http://matrix.org"

Definition at line 3 of file matrix.qh.

Referenced by MX_Forget(), MX_Join(), MX_Leave(), MX_Messages(), MX_Nick(), MX_Say(), MX_Sync(), and MX_Typing().

◆ matrix_access_token

string matrix_access_token

◆ matrix_room

string matrix_room

◆ matrix_user

string matrix_user

Definition at line 4 of file matrix.qh.

Referenced by GENERIC_COMMAND(), MX_Handle(), MX_Nick(), and MX_Typing().