PageRenderTime 48ms CodeModel.GetById 24ms RepoModel.GetById 0ms app.codeStats 0ms

/twilioStuff/twil.php

https://github.com/adr2370/SongBox
PHP | 161 lines | 113 code | 26 blank | 22 comment | 35 complexity | db7c6a86905f762e1f5fcc4a55aa13df MD5 | raw file
Possible License(s): CC-BY-SA-4.0
  1. <?php
  2. require "../Services/Twilio.php"; // for Twilio REST API
  3. session_start(); // start session for Twilio SMS response
  4. $AccountSid = "AC015bae4a78bec6d2699d094ea378057b";
  5. $AuthToken = "bcb0ad9983482a41ecc92443ab210dfa";
  6. $client = new Services_Twilio($AccountSid, $AuthToken); // instantiate Twilio client
  7. // Twilio API Query
  8. $body = $_REQUEST['Body']; // gets the body of the message received
  9. $number = $_REQUEST['From']; // gets the sender of the message received
  10. $isAdmin = false; //0 is not admin
  11. $url = 'http://songbox.co/twilioStuff/';
  12. //confirm user is admin
  13. $number = substr($number, 1);
  14. $room=substr(file_get_contents("https://songbox.firebaseio.com/numbers/".$number."/.json"),1,-1);
  15. if($number == $room)
  16. {
  17. $isAdmin = true;
  18. }
  19. //options
  20. $text = "Text any of the following commands: 'add <SONG NAME>', 'karaoke <SONG NAME>', 'info' (get song information),";
  21. $textA = "'queue' (see playlist queue), 'options' (list all commands), OR text us what you think of the current song";
  22. $textB = "ADMIN OPTIONS: 'skip', '+' (to increase volume), '-' (to decrease volume), 'play', 'pause'";
  23. if(strtolower(substr($body, 0, 4))=="join")
  24. {
  25. //strip out important stuff from string
  26. $room = substr($body, 5);
  27. if(file_get_contents("https://songbox.firebaseio.com/numbers/".$number."/.json")=="null") {
  28. $sms = $client->account->sms_messages->create("949-391-4022",$number, "This room does not exist");
  29. } else {
  30. file_get_contents($url."joinRoom.php?room=".$room."&number=".urlencode($number));
  31. $sms = $client->account->sms_messages->create("949-391-4022",$number, "Joined room ".$room);
  32. $sms = $client->account->sms_messages->create("949-391-4022",$number, $text);
  33. $sms = $client->account->sms_messages->create("949-391-4022",$number, $textA);
  34. if($isAdmin)
  35. {
  36. $sms = $client->account->sms_messages->create("949-391-4022",$number, $textB);
  37. }
  38. }
  39. }
  40. else if($room=="ul") {
  41. $sms = $client->account->sms_messages->create("949-391-4022",$number, "You must first join a room, text 'join <ROOM NUMBER>' to join one");
  42. }
  43. //handle adding new songs
  44. else if(strtolower(substr($body, 0, 3))=="add")
  45. {
  46. //strip out important stuff from string
  47. $song = substr($body, 4);
  48. $responseName = file_get_contents($url."addSong.php?room=".$room."&song=".urlencode($song)."&number=".urlencode($number)."&type=".urlencode("music video"));
  49. //send song request to backend
  50. $text = $responseName . " has been added to the queue!";
  51. $sms = $client->account->sms_messages->create("949-391-4022",$number, $text);
  52. }
  53. //karaoke
  54. else if(strtolower(substr($body, 0, 7))=="karaoke")
  55. {
  56. //strip out important stuff from string
  57. $song = substr($body, 8);
  58. $responseName = file_get_contents($url."addSong.php?room=".$room."&song=".urlencode($song)."%20lyrics&number=".urlencode($number)."&type=".urlencode("karaoke"));
  59. //send song request to backend
  60. $text = $responseName . " has been added to the queue!";
  61. $sms = $client->account->sms_messages->create("949-391-4022",$number, $text);
  62. }
  63. //get info
  64. else if(strtolower(substr($body, 0, 4))=="info")
  65. {
  66. $text = file_get_contents($url."getInfo.php?room=".$room);
  67. $sms = $client->account->sms_messages->create("949-391-4022",$number, $text);
  68. }
  69. //get queue
  70. else if(strtolower(substr($body, 0, 5))=="queue")
  71. {
  72. $text = file_get_contents($url."getQueue.php?room=".$room);
  73. $convert = explode("<br>", $text); //create array separate by new line
  74. for ($i=0;$i<count($convert);$i++)
  75. {
  76. $sms = $client->account->sms_messages->create("949-391-4022",$number, $convert[$i]);
  77. }
  78. //$sms = $client->account->sms_messages->create("949-391-4022",$number, $text);
  79. }
  80. //options
  81. else if(strtolower(substr($body, 0, 7))=="options")
  82. {
  83. $sms = $client->account->sms_messages->create("949-391-4022",$number, $text);
  84. $sms = $client->account->sms_messages->create("949-391-4022",$number, $textA);
  85. if($isAdmin)
  86. {
  87. $sms = $client->account->sms_messages->create("949-391-4022",$number, $textB);
  88. }
  89. }
  90. //ADMIN PANEL
  91. //skip
  92. else if(strtolower(substr($body, 0, 4))=="skip" && $isAdmin)
  93. {
  94. $text = "the current song was skipped";
  95. file_get_contents($url."skipSong.php?room=".$room);
  96. $sms = $client->account->sms_messages->create("949-391-4022",$number, $text);
  97. }
  98. //increase volume
  99. else if(strtolower(substr($body, 0, 1))=="+" && $isAdmin)
  100. {
  101. $text = "volume was increased";
  102. file_get_contents($url."increaseVolume.php?room=".$room."&val=20");
  103. $sms = $client->account->sms_messages->create("949-391-4022",$number, $text);
  104. }
  105. //decrease volume
  106. else if(strtolower(substr($body, 0, 1))=="-" && $isAdmin)
  107. {
  108. $text = "volume was decreased";
  109. file_get_contents($url."increaseVolume.php?room=".$room."&val=-20");
  110. $sms = $client->account->sms_messages->create("949-391-4022",$number, $text);
  111. }
  112. //play
  113. else if(strtolower(substr($body, 0, 4))=="play" && $isAdmin)
  114. {
  115. $text = "playing";
  116. file_get_contents($url."playPause.php?room=".$room."&which=play");
  117. $sms = $client->account->sms_messages->create("949-391-4022",$number, $text);
  118. }
  119. //pause
  120. else if(strtolower(substr($body, 0, 5))=="pause" && $isAdmin)
  121. {
  122. $text = "paused";
  123. file_get_contents($url."playPause.php?room=".$room."&which=pause");
  124. $sms = $client->account->sms_messages->create("949-391-4022",$number, $text);
  125. }
  126. //other comment
  127. else
  128. {
  129. $sentiment = file_get_contents($url."getSentiment.php?room=".$room."&text=".urlencode($body));
  130. $text = "Your comment was " . $sentiment;
  131. $sms = $client->account->sms_messages->create("949-391-4022",$number, $text);
  132. }
  133. //save session for future
  134. $_SESSION['counter'] = $counter;
  135. ?>