developer.inc 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. /*
  2. This file adds functionality to developer commands sent
  3. via Discord, e.g !dt and some others
  4. Please continue using the format used below for each command.
  5. */
  6. /*
  7. @Author: dy1zan / Golden
  8. @Command: !dt
  9. This callback is invoked whenever someone types !dt in Discord.
  10. This will send an a new chat message in-game, of the message sent from Discord.
  11. */
  12. SendDiscordDevTesterMessage(color, string2[])
  13. {
  14. foreach( new i: Player )
  15. {
  16. if(PlayerInfo[i][pDev] >= 1 || PlayerInfo[i][pTester] >= 1)
  17. {
  18. SendClientMessage(i, color, string2);
  19. }
  20. }
  21. }
  22. DiscordResponse:dt(data[]) {
  23. //Convert string into JSON object so we can extract data e.g sender, message
  24. new JSONNode:jsonData = json_parse_string(data);
  25. new sender[MAX_PLAYER_NAME+1], message[110];
  26. //Get the 'sender'/'message' contained within the JSON object
  27. json_get_string(jsonData, sender, sizeof sender, "sender");
  28. json_get_string(jsonData, message, sizeof message, "message");
  29. //Output the data
  30. new string[144];
  31. format(string, sizeof string, "** [Discord] %s: %s **", sender, message);
  32. printf(string);
  33. SendDiscordDevTesterMessage(0x559F75FF, string);
  34. return 1;
  35. }
  36. CMD:dt(playerid, params[])
  37. {
  38. new msg[128], str[128], rank[10], dstr[128];
  39. if(sscanf(params, "s[128]", msg)) return SendClientMessage(playerid, COLOR_GREY, "{00BFFF}Usage:{FFFFFF} /dt [message]");
  40. if(PlayerInfo[playerid][pDev] < 1 && PlayerInfo[playerid][pTester] < 1) return AdmErrorMsg;
  41. if(PlayerInfo[playerid][pDev] >= 1) format(rank, sizeof(rank), "Developer");
  42. else if (PlayerInfo[playerid][pTester] >= 1) format(rank, sizeof(rank), "Tester");
  43. format(str, sizeof(str), "%s %s : %s", rank, PlayerICName(playerid), msg);
  44. format(dstr, sizeof(dstr), "%s : %s", PlayerICName(playerid), msg);
  45. SendDiscordDevTesterMessage(0x559F75FF, str);
  46. Discord:sendBasicRequest(DISCORD_TESTER_CHANNEL, rank, dstr, 0x3C9B93);
  47. return 1;
  48. }