Guest User

bot _knopki23

a guest
Oct 22nd, 2020 (edited)
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.84 KB | None | 0 0
  1. <?
  2. ini_set('error_reporting', E_ALL);
  3. ini_set('display_errors', 1);
  4. ini_set('display_startup_errors', 1);
  5.  
  6. header('Content-Type: text/html; charset=utf-8');
  7. // подрубаем API
  8. require_once("vendor/autoload.php");
  9. // создаем переменную бота
  10. $token = "токен";
  11. $bot = new \TelegramBot\Api\Client($token);
  12.  
  13. // если бот еще не зарегистрирован - регистрируем
  14. if(!file_exists("registered.trigger")){
  15. /**
  16. * файл registered.trigger будет создаваться после регистрации бота.
  17. * если этого файла нет значит бот не зарегистрирован
  18. */
  19.  
  20. // URl текущей страницы
  21. $page_url = "https://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
  22. $result = $bot->setWebhook($page_url);
  23. if($result){
  24. file_put_contents("registered.trigger",time()); // создаем файл дабы прекратить повторные регистрации
  25. }
  26. }
  27.  
  28. // Кнопки у сообщений
  29. //================ вызывается команда бота появлется сообщение и под ним кнопка "смотреть видео"============
  30.  
  31.  
  32. $bot->command('start', function ($message) use ($bot) {
  33. $keyboard = new \TelegramBot\Api\Types\Inline\InlineKeyboardMarkup(
  34. [
  35. [
  36. ['callback_data' => 'data_test', 'text' => 'Смотреть видео 🎥', 'one_time_keyboard'=> true],
  37.  
  38.  
  39. ]
  40. ]
  41. );
  42. $output = json_decode(file_get_contents('php://input'), TRUE);
  43. $chat_id = $output['message']['chat']['id'];
  44. $first_name = $output['message']['chat']['first_name'];
  45. $bot->sendMessage($message->getChat()->getId(), "Здравствуйте, ".$first_name."!
  46. ", false, null, null, $keyboard);
  47. });
  48.  
  49.  
  50. // теперь нам нужно обработать нажатие кнопки "Смотреть видео 1 мир"
  51.  
  52. // дополнительный обработчик чтобы кнопка исчезала после нажатия
  53. $bot->callbackQuery(function($query) use ($bot) {
  54. $message_id = $message->getMessageId();
  55.  
  56. // 3-ий аргумент - новая клава, но мы кидаем null, чтобы убрать.
  57. $bot->editMessageReplyMarkup('id_чата', $message_id, null);
  58. });
  59.  
  60.  
  61.  
  62. // Обработка кнопок у сообщений
  63. $bot->on(function($update) use ($bot, $callback_loc, $find_command){
  64. $callback = $update->getCallbackQuery();
  65. $message = $callback->getMessage();
  66. $chatId = $message->getChat()->getId();
  67. $data = $callback->getData();
  68.  
  69.  
  70. if($data == "data_test"){
  71. $keyboard = new\TelegramBot\Api\Types\Inline\InlineKeyboardMarkup (
  72. [
  73. [
  74. [ 'callback_data' => 'data_test2' , 'text' => 'Смотреть видео 🎥' ]
  75. ]
  76. ]
  77.  
  78. ) ;
  79.  
  80. //$videoFile = "BAACAgIAAxUAAV-Ok-dcE2VEoTXkThbfsZoz737TAAJ4CAAC4_VxSHEgvCblMfKZGAQ"; // товар 90мб
  81. $videoFile = "BAACAgIAAxUAAV-OdBpmHkoda9vwkgWdYIe8E2hiAAJbCAAC4_VxSBmZX5CRplaxGAQ"; // мир
  82. $output = json_decode(file_get_contents('php://input'), TRUE);
  83. $chat_id = $output['message']['chat']['id'];
  84. $first_name = $output['message']['chat']['first_name'];
  85. $bot->sendVideo($message->getChat()->getId(), $videoFile, // video — загружаемый файл
  86. null, // duration — длина видео
  87. "", // caption — описание под видео
  88. true, // supports_streaming — подгрузка и автоматическое воспроизведение при получении сообщения. При необходимости — убрать
  89. $keyboard);
  90. $bot->answerCallbackQuery($callback->getId());
  91. };
  92.  
  93. // теперь нам нужно обработать нажатие кнопки "Смотреть видео 2"
  94. // Третья партия кнопок
  95. if($data == "data_test2"){
  96. $keyboard = new\TelegramBot\Api\Types\Inline\InlineKeyboardMarkup (
  97. [
  98. [
  99. [ 'callback_data' => 'data_test3' , 'text' => 'Смотреть видео 🎥' ]
  100. ]
  101. ]
  102.  
  103. ) ;
  104. $videoFile = "BAACAgIAAxUAAV-Ok-dcE2VEoTXkThbfsZoz737TAAJ4CAAC4_VxSHEgvCblMfKZGAQ"; // товар 90мб
  105. //$videoFile = "BAACAgIAAxUAAV-OdBpmHkoda9vwkgWdYIe8E2hiAAJbCAAC4_VxSBmZX5CRplaxGAQ"; // мир
  106. $bot->sendVideo($message->getChat()->getId(), $videoFile, // video — загружаемый файл
  107. null, // duration — длина видео
  108. '',
  109. // caption — описание под видео
  110. true, // supports_streaming — подгрузка и автоматическое воспроизведение при получении сообщения. При необходимости — убрать
  111. $keyboard);
  112. $bot->answerCallbackQuery($callback->getId());
  113.  
  114. };
  115.  
  116. if($data == "data_test3"){
  117. $keyboard = new\TelegramBot\Api\Types\Inline\InlineKeyboardMarkup([
  118.  
  119. [
  120. ['text' => 'Я потребитель', 'callback_data' => 'data_test4'],
  121. ['text' => 'Я партнёр!', 'callback_data' => 'data_test5'],
  122. ],
  123. [
  124. ['text' => 'Мне пока мало информации', 'callback_data' => 'data_test6'],
  125. ],
  126.  
  127. ]);
  128. $videoFile = "BAACAgIAAxUAAV-NM_Re_PAeZJkgPuITO_teSxoRAAKGDwAC4_VpSObMdZtn3D4cGAQ"; // греция
  129. $bot->sendVideo($message->getChat()->getId(), $videoFile, // video — загружаемый файл
  130. null , // duration — длина видео
  131. '', // caption — описание под видео
  132. true, $keyboard // supports_streaming — подгрузка и автоматическое воспроизведение при получении сообщения. При необходимости — убрать
  133. );
  134. $bot->answerCallbackQuery($callback->getId());
  135.  
  136. // повтор уровня кнопок
  137.  
  138. };
  139.  
  140. if($data == "data_test4"){
  141. $keyboard = new\TelegramBot\Api\Types\Inline\InlineKeyboardMarkup([
  142.  
  143. [
  144. ['text' => 'Коллекция 💼', 'url' => 'https://youtu.be/qyDpky-Yuyk', 'callback_data' => 'data_test7'],
  145. ['text' => 'Интернет магазин 💎', 'url' => 'http://2020.greenwaystart.com/shop/brands/?gw=CfTzo5Pzrj', 'callback_data' => 'data_test8'],
  146. ],
  147.  
  148. [
  149. ['text' => 'Назад 🔙', 'callback_data' => 'data_test9'],
  150. ],
  151.  
  152. ]);
  153. //$output = json_decode(file_get_contents('php://input'), TRUE);
  154. //$chat_id = $output['message']['chat']['id'];
  155. //$first_name = $output['message']['chat']['first_name'];
  156. $pic = "https://greenteams.ru/clients_bot_ID_123456/drugoy_bot/image/foto_eco_market.jpg";
  157. $bot->sendPhoto($message->getChat()->getId(), $pic, "Отличный выбор, ".$first_name."! ", true, $keyboard);
  158. $bot->answerCallbackQuery($callback->getId());
  159.  
  160. };
  161. // Возврат по кнопке назад из раздела потребитель
  162.  
  163. if($data == "data_test9"){
  164. $keyboard = new\TelegramBot\Api\Types\Inline\InlineKeyboardMarkup([
  165.  
  166. [
  167. ['text' => 'Я потребитель', 'callback_data' => 'data_test4'],
  168. ['text' => 'Я партнёр!', 'callback_data' => 'data_test5'],
  169. ],
  170.  
  171. [
  172. ['text' => 'Мне пока мало информации', 'callback_data' => 'data_test6'],
  173. ],
  174.  
  175. ]);
  176.  
  177.  
  178.  
  179. $videoFile = "BAACAgIAAxUAAV-NM_Re_PAeZJkgPuITO_teSxoRAAKGDwAC4_VpSObMdZtn3D4cGAQ"; // греция
  180. $bot->sendVideo($message->getChat()->getId(), $videoFile, // video — загружаемый файл
  181. null , // duration — длина видео
  182. '', // caption — описание под видео
  183. true, $keyboard // supports_streaming — подгрузка и автоматическое воспроизведение при получении сообщения. При необходимости — убрать
  184. );
  185. $bot->answerCallbackQuery($callback->getId());
  186. };
  187.  
  188. // Обработка кнопки я партнер
  189.  
  190. if($data == "data_test5"){
  191. $keyboard = new\TelegramBot\Api\Types\Inline\InlineKeyboardMarkup([
  192.  
  193. [
  194. // ['text' => 'Коллекция', 'url' => '' 'callback_data' => 'data_test7'],
  195. // ['text' => 'Интернет магазин', 'url' => '' 'callback_data' => 'data_test8'],
  196. ],
  197. [
  198. ['text' => 'Регистрация партнёра', 'url' => 'https://greenteams.ru/registration', 'callback_data' => 'data_test10'],
  199. ],
  200.  
  201. ]);
  202. $pic = "https://greenteams.ru/clients_bot_ID_123456/drugoy_bot/image/foto_partner.jpg";
  203. $bot->sendPhoto($message->getChat()->getId(), $pic, ' !', true, $keyboard);
  204.  
  205. $bot->answerCallbackQuery($callback->getId());
  206.  
  207. };
  208.  
  209. // Обработка кнопки мне мало информации
  210.  
  211. if($data == "data_test6"){
  212. $keyboard = new\TelegramBot\Api\Types\Inline\InlineKeyboardMarkup([
  213.  
  214. [
  215. ['text' => 'А так реально в GreenWay', 'callback_data' => 'data_test11'],
  216. ['text' => 'Анекдот в тему 😃', 'callback_data' => 'data_test12'],
  217. ],
  218.  
  219. ]);
  220. $videoFile = "BAACAgIAAxUAAV-NknkAAcBc9t9xCUN_0SFPHeGe8wACoxAAAuP1aUgmZD7_HeibKBgE"; // роберт
  221. $bot->sendVideo($message->getChat()->getId(), $videoFile, // video — загружаемый файл
  222. null , // duration — длина видео
  223. 'Роберт. Кийосаки "Богатые люди строят сети, остальные ищут работу"', // caption — описание под видео
  224. true, $keyboard // supports_streaming — подгрузка и автоматическое воспроизведение при получении сообщения. При необходимости — убрать
  225. );
  226. $bot->answerCallbackQuery($callback->getId());
  227. };
  228.  
  229. // обработка кнопки А так реально в компании
  230.  
  231. if($data == "data_test11"){
  232. $keyboard = new\TelegramBot\Api\Types\Inline\InlineKeyboardMarkup([
  233.  
  234. [
  235. ['text' => 'Сомнений нет, я буду партнёр!', 'url' => 'https://greenteams.ru/registration', 'callback_data' => 'data_test6'],
  236. ],
  237.  
  238. ]);
  239. $videoFile = "https://greenteams.ru/my_bot/video/5.mp4"; // Реальные цифры
  240. $bot->sendVideo($message->getChat()->getId(), $videoFile, // video — загружаемый файл
  241. null , // duration — длина видео
  242. 'Еще одно видео показывающее масштабы компании...', // caption — описание под видео
  243. true, $keyboard // supports_streaming — подгрузка и автоматическое воспроизведение при получении сообщения. При необходимости — убрать
  244. );
  245. $bot->answerCallbackQuery($callback->getId());
  246. };
  247.  
  248. // Обработка кнопки Анекдот в тему
  249.  
  250. if($data == "data_test12"){
  251. $keyboard = new\TelegramBot\Api\Types\Inline\InlineKeyboardMarkup([
  252.  
  253. [
  254. ['text' => 'Назад 🔙', 'callback_data' => 'data_test13'],
  255. ],
  256.  
  257. ]);
  258. $pic = "https://greenteams.ru/clients_bot_ID_123456/drugoy_bot/image/cat.jpg";
  259. $bot->sendPhoto($message->getChat()->getId(), $pic, '!', true, $keyboard);
  260. $bot->answerCallbackQuery($callback->getId());
  261. };
  262.  
  263. //Обработка кнопки назад из анекдота
  264.  
  265. if($data == "data_test13"){
  266.  
  267. $keyboard = new\TelegramBot\Api\Types\Inline\InlineKeyboardMarkup([
  268.  
  269. [
  270. ['text' => 'Я потребитель', 'callback_data' => 'data_test4'],
  271. ['text' => 'Я партнёр!', 'callback_data' => 'data_test5'],
  272. ],
  273.  
  274. [
  275. ['text' => 'Мне пока мало информации', 'callback_data' => 'data_test6'],
  276. ],
  277.  
  278. ]);
  279.  
  280.  
  281.  
  282. $videoFile = "BAACAgIAAxUAAV-NM_Re_PAeZJkgPuITO_teSxoRAAKGDwAC4_VpSObMdZtn3D4cGAQ"; // греция
  283. $bot->sendVideo($message->getChat()->getId(), $videoFile, // video — загружаемый файл
  284. null , // duration — длина видео
  285. '', // caption — описание под видео
  286. true, $keyboard // supports_streaming — подгрузка и автоматическое воспроизведение при получении сообщения. При необходимости — убрать
  287. );
  288. $bot->answerCallbackQuery($callback->getId());
  289. };
  290.  
  291.  
  292.  
  293.  
  294. // закончиваем обработку кнопок
  295.  
  296.  
  297. }, function($update){
  298. $callback = $update->getCallbackQuery();
  299. if (is_null($callback) || !strlen($callback->getData()))
  300. return false;
  301. return true;
  302. });
  303.  
  304.  
  305.  
  306. // запускаем всего бота
  307. $bot->run();
  308. ?>
Add Comment
Please, Sign In to add comment