Commands.php 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. namespace BotKit\Common;
  3. // Команды бота
  4. use BotKit\Common\Message;
  5. use BotKit\Enums\Platform;
  6. use BotKit\Enums\State;
  7. use BotKit\Keyboards\TermsOfServiceKeyboard;
  8. use BotKit\Attachments\ImageAttachment;
  9. class Commands {
  10. // Отправка условий использования
  11. public static function showTermsOfService($e, $u, $driver) {
  12. $driver->editMessage(
  13. $e->getMessageID(),
  14. Message::create("[Условия использования]")
  15. ->withImage(ImageAttachment::fromUrl('https://images.wallpaperscraft.ru/image/single/pustynia_peski_diuny_1207604_800x1200.jpg'))
  16. );
  17. }
  18. public static function helloWorld($e, $u, $driver) {
  19. // Проверить: сообщение из чата или от пользователя
  20. $url = 'https://www.wallpaperflare.com/static/929/413/133/artwork-aenami-abstract-painting-wallpaper.jpg';
  21. $driver->reply(
  22. $e,
  23. Message::create("Привет, я - Техбот. Моя задача - облегчить твою жизнь, но, для начала, мне нужно задать несколько вопросов"),
  24. false
  25. );
  26. $driver->reply(
  27. $e,
  28. Message
  29. ::create("Ознакомься с условиями использования прежде чем использовать мои функции")
  30. ->withKeyboard(new TermsOfServiceKeyboard()),
  31. false
  32. );
  33. $u->setState(State::Registering);
  34. }
  35. // Помощь
  36. public static function help($e, $u, $driver) {
  37. $driver->reply($e, Message::create("Помощь по BotKit"));
  38. }
  39. // Помощь по теме
  40. public static function helpTopic($e, $u, $driver, $topic) {
  41. $driver->reply($e, Message::create("Помощь по ".$topic));
  42. }
  43. // Помощь по теме
  44. public static function fallback($e, $u, $driver) {
  45. $driver->reply($e, Message::create("FALLBACK"));
  46. }
  47. public static function registered($e, $u, $driver) {
  48. // Проверить: сообщение из чата или от пользователя
  49. $driver->reply($e, Message::create("REGISTERED"));
  50. }
  51. // Функция приветствия пользователя
  52. public static function greetMember($e, $u, $driver) {
  53. $username = self::getNick($u, $driver);
  54. $driver->sendToChat(
  55. $e->getChat(),
  56. Message::create("Добро пожаловать в чат, ".$username)
  57. );
  58. }
  59. // Функция прощания с пользователем
  60. public static function bye($e, $u, $driver) {
  61. $username = self::getNick($u, $driver);
  62. echo $username;
  63. $driver->sendMessage($u, Message::create("Будем скучать, ".$username));
  64. }
  65. // Возвращает ник пользователя
  66. private static function getNick($u, $driver) {
  67. $username = $driver->getUserNick($u);
  68. if (empty($username)) {
  69. return $u->getPlatformID();
  70. }
  71. return $username;
  72. }
  73. }