404

[ Avaa Bypassed ]




Upload:

Command:

botdev@3.139.60.67: ~ $
<?php 
class KeyboardMenu {
	public $TG;
	public $activationText;
	public $welcomeMessage;
	public $logOutText;
	public $toolsMenuMessage;
	function  __construct(TranslateService $TG){
		$this->TG = $TG;
		$this->activationText = "یک دکمه در صفحه چت شما با عنوان عضویت در گروه مترجمان فعال شد.";
		$this->activationText .= "با کلیک روی آن می توانید لغت های خود را به لغتنامه اضافه کنید";
		$this->welcomeMessage = "به گروه مترجمان خوش آمدید.";
		$this->welcomeMessage .= "دو دکمه ی دیگر برای شما فعال شد. لطفا دکمه امکانات را بفشارید";
		$this->logOutText = "شما با موفقیت از گروه خارج شدید";
		$this->toolsMenuMessage = "شما می توانید لغت های جدید را به لغت نامه آموزش دهید. برای این کار می توانید از دکمه وارد کردن لغت استفاده کنید";
                $this->toolsMenuMessage .= PHP_EOL."در آینده امکانات بیشتری به این گروه اضافه خواهد شد";
                $this->toolsMenuMessage .= PHP_EOL."در زمانی که شما عضو این گروه هستید، لغتنامه از شما سوالاتی برای یادگیری لغت های جدید خواهد پرسید";

                
        }
	function activate(){
		$this->TG->getUser()->setKeyboard(EnumKeyboard::ACTIVATED);
		$this->onActivate();
	}
	function deactivate(){
		$this->TG->getUser()->setKeyboard(EnumKeyboard::DEACTIVATED)->setRole(EnumRole::USER);
		$keyboard = $this->defineKeyboard($this->getRegisterKeyboard());
		$this->sendMessageAndKeyboard($this->logOutText,$keyboard);
	}
	function listen(){
			switch ($this->TG->message['text']){
				case EnumTranslatorButton::REGISTER :
					$this->showTools();
					return true;
					break;
				case EnumTranslatorButton::MAINPAGE:
					$this->showMenu();
					return true;
					break;
				case EnumTranslatorButton::TOOLS:
					$this->showTools();
					return true;
					break;
				case EnumTranslatorButton::UNREGISTER:
					$this->deactivate();
					return true;
					break;
				case EnumTranslatorButton::ACTIVATE_KEYBOARD:
						$this->activate();
				default :
//					if(!$this->TG->getUser()->hasKeyboard())
//						$this->activate();
					if(false && $this->TG->getUser()->getKeyboard() == "DEACTIVATED")
						$this->activate();
					break;
			}
			return false;
	}
	function showMenu() {
		$keyboard = $this->defineKeyboard($this->getMainPageKeyboard());
		$this->sendMessageAndKeyboard($this->welcomeMessage,$keyboard);
	}
	function showTools() {
		$this->TG->getUser()->setRole(EnumRole::TRANSLATOR);
		$keyboard = $this->defineKeyboard($this->getToolsKeyboard());
		$this->sendMessageAndKeyboard($this->toolsMenuMessage,$keyboard);
	}
	function onActivate(){
			$keyboard = $this->defineKeyboard($this->getRegisterKeyboard());
			$this->sendMessageAndKeyboard($this->activationText,$keyboard);
	}
  	function getToolsKeyboard(){
  		$keyButtons[] = EnumTranslatorButton::INSERT_WORD;
  		$keyButtons[] = EnumTranslatorButton::MAINPAGE;
  		return $keyButtons;	
  	}
  	function getMainPageKeyboard(){
  		$keyButtons[] = EnumTranslatorButton::TOOLS;
  		$keyButtons[] = EnumTranslatorButton::UNREGISTER;
  		return $keyButtons;
  	}
  	function getRegisterKeyboard(){
  		$keyButtons[] = EnumTranslatorButton::REGISTER;
  		return $keyButtons;
  	}
  	function getTranslatorInlineKeyboard(){
  		$word = $this->TG->word;
//        $word = $this->cleanWord($word);
        if ($this->TG->translated) {
            // return array('text' => "اضافه کردن معنی به $word", 'callback_data' => EnumSteps::USER_WANTS_INSERT_MEANING . ":" . $word);
//            return ['text' => "اضافه کردن معنی به $word", 'callback_data' => EnumSteps::USER_WANTS_INSERT_MEANING . ":" . $word];
        } 
        else {
            return array('text' => "وارد کردن معنی  $word", 'id' => EnumSteps::USER_WANTS_INSERT_COMPLETE_MEANING . ":" . $word);
        }
    }
  	function defineKeyboard($keyButtons){
//   	$keyboard = [
//   			'keyboard' => [
//   					[['text' =>  EnumTranslatorButton::REGISTER]],,
//   					[['text' =>  EnumTranslatorButton::MAINPAGE]]
//   			],
//   			"resize_keyboard" => true,
//   			"one_time_keyboard" => true
//   	];
	foreach ( $keyButtons as $button) {
		$keyboard['keyboard'][][]['text']=$button;
	}
	$keyboard['resize_keyboard'] = true;
//	$keyboard['one_time_keyboard'] = true;
// 	   	$keyboard = [
// 	   			'keyboard' => [[['text' =>  EnumTranslatorButton::REGISTER]],
// 	   					[['text' =>  EnumTranslatorButton::MAINPAGE]]],
// 	   			"resize_keyboard" => true,
// 	   			"one_time_keyboard" => true
// 	   	];
// 	   	 					$keyboard = [
// 	   								"keyboard" => [[['text' =>  EnumTranslatorButton::UNREGISTER]]],
// 	   								"resize_keyboard" => true,
// 	   								"one_time_keyboard" => true
// 	   						];
  	return $keyboard;
  }
  function sendmessageAndKeyboard($message,$keyboard){
//   	$keyboard = [
//   			"keyboard" => [[['text' =>  EnumTranslatorButton::UNREGISTER]]],
//   			"resize_keyboard" => true,
//   			"one_time_keyboard" => true
//   	];
  	$markup = json_encode($keyboard, true);
  	$this->TG->apiRequest ( "sendMessage", array (
  			'chat_id' => $this->TG->chat_id,
  			"text" => $message,
  			"parse_mode" => "html",
  			"disable_web_page_preview" => true,
  			"reply_markup" =>$markup
  	) );
//   	exit();
  	
  }
	
}

?>

Filemanager

Name Type Size Permission Actions
KeyboardMenu.php File 5.59 KB 0644