| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- /*
- @Author: dy1zan / Golden
- @Command: !newb
- This callback is invoked whenever someone types !newb in Discord.
- This will send an a new message in-game command /newb
- */
- DiscordResponse:newb(data[]) {
- //Convert string into JSON object so we can extract data e.g sender, message
- new JSONNode:jsonData = json_parse_string(data);
- new sender[MAX_PLAYER_NAME+1], message[110], channel[30];
- json_get_string(jsonData, channel, sizeof channel, "channel");
- //Get the 'sender'/'message' contained within the JSON object
- json_get_string(jsonData, sender, sizeof sender, "sender");
- json_get_string(jsonData, message, sizeof message, "message");
-
- //Output the data
- new string[144];
- format(string, sizeof string, "** [Discord] %s: %s **", sender, message);
- printf(string);
- OOCNewbie(NEWBIE_COLOR, string);
-
- return 1;
- }
- /*
- Some util
- */
- stock Discord:GetHelperRank(playerid) {
- new name[32];
- new level = PlayerInfo[playerid][pHelper];
- switch(level) {
- case 0: name = "None";
- case 1: name = "Trial Helper";
- case 2: name = "Helper";
- case 3: name = "Senior Helper";
- case 4: name = "Head Helper";
- case 5: name = "Director of The Helpers Team";
- default: name = "?";
- }
- return name;
- }
- DiscordResponse:id(data[]) {
- //Convert string into JSON object so we can extract data e.g sender, message
- new JSONNode:jsonData = json_parse_string(data);
- new pattern[110], channel[30], string[128], string2[128], count;
- json_get_string(jsonData, channel, sizeof channel, "channel");
- json_get_string(jsonData, pattern, sizeof pattern, "pattern");
-
- if(IsNumeric(pattern))
- {
- new player;
- sscanf(pattern, "u", player);
- if(IsPlayerConnected(player))
- {
- new name2[24], status[10];
- strmid(name2, str_replace('_', ' ', PlayerName(player)), 0, MAX_PLAYER_NAME);
- if(PlayerPaused[player] == 1)
- status = "tabbed";
- else
- status = "untabbed";
- format(string, sizeof(string), "Name: %s, ID: %d, Level: %d, Ping: %d, Status: %s", name2, player, PlayerInfo[player][pLevel], GetPlayerPing(player), status);
- Discord:sendBasicRequest(channel, "Players found", string, DISCORD_COLOR_INFO);
- }
- return 1;
- }
- else
- {
- foreach( new i: Player )
- {
- if(strfind(PlayerName(i), pattern, true) != -1)
- {
- new name2[24], status[10];
- strmid(name2, str_replace('_', ' ', PlayerName(i)), 0, MAX_PLAYER_NAME);
- if(PlayerPaused[i] == 1)
- status = "tabbed";
- else
- status = "untabbed";
-
- if( count > 1 )
- {
- format(string2, sizeof(string2), "Name: %s, ID: %d, Level: %d, Ping: %d, Status: %s\n", name2, i, PlayerInfo[i][pLevel], GetPlayerPing(i), status);
- strins(string, string2, 0);
- }
- else
- {
- format(string, sizeof(string), "Name: %s, ID: %d, Level: %d, Ping: %d, Status: %s", name2, i, PlayerInfo[i][pLevel], GetPlayerPing(i), status);
- count++;
- }
- Discord:sendBasicRequest(channel, "Players found", string, DISCORD_COLOR_INFO);
- }
- }
- }
- return 1;
- }
- DiscordResponse:time(data[])
- {
- new JSONNode:jsonData = json_parse_string(data);
- new channel[30];
- json_get_string(jsonData, channel, sizeof channel, "channel");
- new year, month, day;
- getdate(year, month, day);
- new hour, minute, second;
- gettime(hour, minute, second);
- hour = FixHour(hour);
- new string[128];
- format(string, sizeof(string), "%02d %s %02d:%02d:%02d", day, GetMonthFromInt(month), hour, minute, second);
- Discord:sendBasicRequest(channel, "Server time", string, DISCORD_COLOR_INFO);
- return 1;
- }
- DiscordResponse:admins(data[]) {
- //Get the channel the command was sent from
- new JSONNode:jsonData = json_parse_string(data);
- new channel[30];
- json_get_string(jsonData, channel, sizeof channel, "channel");
- //Get online admins as a string
- new string[144];
- foreach(new i : Player) {
- if(PlayerInfo[i][pAdmin] >= 1 && PlayerInfo[i][pStealthed] == 0) {
- if(strlen(string) > 1) {
- format(string, sizeof string, "%s, %s", string, PlayerICName(i));
- }
- else {
- format(string, sizeof string, "%s", PlayerICName(i));
- }
- }
- }
- if(strlen(string) < 1) {
- format(string, sizeof string, "There are no administrators online.");
- }
- //Send the list to Discord
- Discord:sendBasicRequest(channel, "Server administrators", string, DISCORD_COLOR_INFO);
- }
|