404

[ Avaa Bypassed ]




Upload:

Command:

botdev@18.188.103.42: ~ $
<?php
class TranslateEnglish extends MessageProcessor {
	private $databseFriend;
	function __construct($botUsername,$botToken,$webhookUrl,$sign){
                                        //$botUsername,$botToken,$webhookUrl,$sign,$adminId
			parent::__construct($botUsername,$botToken,$webhookUrl,$sign, 44903244);
		}
		public function getMoreContent($newsId){
			$news=$this->databseFriend->getNewsFromDbById($newsId);
			$miniCurl = new MiniCurl($news['link']);
			return $miniCurl->getData();
		}
		public function processCallback($update){
//  			$testMessage = var_export ( $update, true );
// 			file_put_contents ( "testbotprocessCallback.html", $testMessage, FILE_APPEND | LOCK_EX );
// 			$this->apiRequest ( "answerInlineQuery", array (
// 					'inline_query_id' => $this->chat_id,
// 					"results" => $this->callback_data
// 			) );
			$callBackData= explode(":", $this->callback_data);
			if($callBackData[0] == "task" && $callBackData[1] == "more" ){
				$message = " ادامه خبر";
				$newsId=$callBackData[2];
				$newsContent = $this->getMoreContent($newsId);
				$regex ='/articleBody\s[^&]*p>(.*)<\/strong>/';
				if (preg_match_all ( $regex, $newsContent, $matches )) {
					$moreText = $matches [1] [0];
				}
				$moreText = str_replace("<strong>", "", $moreText);
				$moreText = str_replace("<em>", "", $moreText);
				$moreText = str_replace("<", "", $moreText);
				$moreText = str_replace("</em", "", $moreText);
// 				$testMessage = var_export ( $newsContent, true );
// 				file_put_contents ( "testgrabdata.html", $testMessage, FILE_APPEND | LOCK_EX );
				$message.=PHP_EOL.PHP_EOL.$moreText;
			}
			else if($callBackData[0] == "task" && $callBackData[1] == "translate"){
				
// 				$key = "trnsl.1.1.20161227T200147Z.ea68ee52a784814b.d57d90672c621ed4b707e054a845d8e0367ad95d";
// 				$translated = file_get_contents("https://translate.yandex.net/api/v1.5/tr.json/translate?key="
// 				 		.$key."&lang=de-fa&text=abmachen");

				
				$key="trnsl.1.1.20161227T200147Z.ea68ee52a784814b.d57d90672c621ed4b707e054a845d8e0367ad95d";
				$translator = new Translator($key);
				$message = $translator->translate($this->message['text'], "de-fa");
				$message .= " ";

			}
			else if($callBackData[0] == "task" && $callBackData[1] == "approve"){
				$postbaker = new PostBaker ( $this->botUsername, $this->BOT_TOKEN, $this->sign );
				$postbaker->postNews( $this->message );


					
				$this->apiRequest ( "sendMessage", array (
						'chat_id' => $this->chat_id,
						"text" => $message,
						));
				
				 				$keyboard = [
				 						'inline_keyboard' => [[['text' =>  "ارسال شد", 'callback_data' => "task:nothing:nothing"]]],
				 				];
// 				$keyboard = [
// 						'inline_keyboard' => [[]],
// 				];
				$markup = json_encode($keyboard, true);
				$message = "ترجمه خبر در کانال قرار داده شد";
				$this->apiRequest ( "editMessageText", array (
						'chat_id' => $this->chat_id,
						"message_id" => $this->message['message_id'],
						'text' => $message
						
				) );
				

				$this->apiRequest ( "sendMessage", array (
						'chat_id' => $callBackData[2],
						"text" => $message
				) );
			}
			else if($callBackData[0] == "task" && $callBackData[1] == "deny"){
				$message = "ترجمه خبر نیاز به اصلاح دارد";
				$this->apiRequest ( "sendMessage", array (
						'chat_id' => $callBackData[2],
						"text" => $message
				) );
			}
			$this->apiRequest ( "answerCallbackQuery", array (
					'callback_query_id' => $this->callback_id,
					"text" => "اضا�ه شد"
			) );
			$this->apiRequest ( "sendMessage", array (
					'chat_id' => $this->chat_id,
					"text" => $message
			) );
		}
	public function translateWordProcess($word){
	
		$loghatnameh = new LoghatnamehEnglish();
			
			$dictionary = new DictionaryEnglishDatabaseHandlerDatabaseHandler($this->botUsername);
			
			if (preg_match ( '/[^A-Za-z0-9]/', $word ) 
					&& !preg_match('/ü/',$word)
					&& !preg_match('/Ü/',$word)
					&& !preg_match('/ä/',$word)
					&& !preg_match('/Ä/',$word)
					&& !preg_match('/ö/',$word)
					&& !preg_match('/Ö/',$word)
					&& !preg_match('/ß/',$word)) {
				$translationsArray = $dictionary->getTrnslations ( $word, "FA" );
				
				if (empty ( $translationsArray )){
					$translationsArray = $loghatnameh->translate ( urlencode ($word), "FA" );
// 					$translatedTextMessage = $loghatnameh->makeTranslationTextMessage();
					$dictionary->insertWordsWithTranslation($translationsArray, "FA", $word);
					$dictionary->getTrnslations ( $word, "FA" );
					$translatedTextMessage =  $dictionary->makeTranslationTextMessage();
				}
				else {
					$translatedTextMessage =  $dictionary->makeTranslationTextMessage();
				}
					
			} 
			else {
			
				$translationsArray = $dictionary->getTrnslations ( $word, "DE" );
				if (empty ( $translationsArray )){
					$translationsArray = $loghatnameh->translate ( $word, "DE" );
// 					$translatedTextMessage = $loghatnameh->makeTranslationTextMessage();
					$dictionary->insertWordsWithTranslation($translationsArray, "DE", $word);
					$dictionary->getTrnslations ( $word, "DE" );
					$translatedTextMessage =  $dictionary->makeTranslationTextMessage();
				}
				else {
					$translatedTextMessage =  $dictionary->makeTranslationTextMessage();
				}
			}
			$dictionary->insertUser($this->message['from']['id'], $this->message['from']['username'], $this->message['from']['first_name'],$this->message['from']['last_name']);
			
			$translated = true;
			if(strlen($translatedTextMessage) <= 5){
				$translatedTextMessage ="keine Ahnung 😭";
				$translated = false;
				}
				$dictionary->insertUserActivity($this->message['from']['id'],$word,$translated);
				
			if($translated)
				return $translatedTextMessage;
	
	}
	public function processInlineQuery($update){
		$memberObject = $this->apiRequest ( "getChatMember", array (
				'chat_id' => "@loghatkad",
				'user_id' => $update['inline_query']['from']['id']
		) );
		$textQuery = $update['inline_query']['query'];
// 		if($memberObject['status']!="member" && $memberObject['status']!="administrator" && $memberObject['status']!="owner"){
		if($memberObject['status']=="left" ){
			$this->apiRequest ( "sendMessage", array (
					'chat_id' => $update['inline_query']['from']['id'],
					"text" => "برای است�اده از لغتنامه از شما خواهشمندیم در این کانال loghatnameh عضو شوید، تا بتوانیم اطلاعات بیشتر را در اختیار شما قرار بدهیم"
					.PHP_EOL."https://t.me/loghatkad".PHP_EOL
			) );
			$readyResult =[[
			    "type" => "article",
			    "id" => "0",
			    "title" => $textQuery." باید عضو کانال باشید تا بتونین ترجمه کنید",
			    "message_text" => "برای است�اده از لغتنامه از شما خواهشمندیم در این کانال عضو شوید، تا بتوانیم اطلاعات بیشتر را در اختیار شما قرار بدهیم"
					.PHP_EOL."https://t.me/loghatkad".PHP_EOL
			  ]];
	
		}
		else if($textQuery=="invite"){
			$invitationText = "سلام دوست عزیزم
					این دعوتنامه است�اده از لغتنامه
					�ارسی به آلمانی
					و آلمانی به �ارسی هست.
					برای است�اده از لغت نامه باید روی لینک زیر کلیک کنی".PHP_EOL
					.PHP_EOL."https://telegram.me/translateGerman_bot?start=".$update['inline_query']['from']['id'].PHP_EOL;
			
			$invititionUrl= "https://telegram.me/translateGerman_bot?start=".$update['inline_query']['from']['id'];
			$markUp = [
					'inline_keyboard' => [[['text' =>  "باز کردن دعوتنامه", 'url' => $invititionUrl]]],
			];
// 			$markUp = json_encode($keyboard, true);
			
			$readyResult =[[
					"type" => "article",
					"id" => "0",
					"title" => "دعوتنامه ارسال شود",
					"message_text" => $invitationText,
					"reply_markup" => $markUp,
					"cache_time" => 5
			]];	
		}
		else {
		
			
			
			/*$result = [
				'InlineQueryResultArticle' => [[['type' =>  "article", 'id' => "43",'title' => "Translation",'message_text' => "translated"]]],
				 ];
					*/
			$translatedText =$this->translateWordProcess($textQuery);
			$readyResult =[[
			    "type" => "article",
			    "id" => "0",
			    "title" => $textQuery." ترجمه",
			    "message_text" => $translatedText.PHP_EOL."@TranslateGerman_bot",
				"cache_time" => 1
			  ]];
			 // $readyResult = json_encode($readyResult, true);

		}
		
					$this->apiRequest ( "answerInlineQuery", array (
					'inline_query_id' => $this->inline_message_id,
					'results' => $readyResult
			) );
		
	}
	public function processText() {
// 		$this->apiRequest ( "sendMessage", array (
// 				'chat_id' => $this->chat_id,
// 				"text" => "سلام من درحال بروز رسانی لغات هستم، کمی صبر کن لطفا ممنون"
// 		) );

		// incoming text message
		$text = $this->message ['text'];
			
		if(!empty($this->message ['reply_to_message']))
			$repliedTomessage = $this->message ['reply_to_message'];
		if (! empty ( $repliedTomessage ['text'] ) && !empty($repliedTomessage['entities'][1]['url'])) {
			
			$postbaker = new PostBaker ( $this->botUsername, $this->BOT_TOKEN, $this->sign );
			$postbaker->sendToApproveGroup ( $repliedTomessage, $this->message ['text'].var_export($repliedTomessage) );
			
		} else if(! empty ( $repliedTomessage ['text'] ) && empty($repliedTomessage['entities'][1]['url'])) {
			$reply = explode ( "@", $repliedTomessage ['text'] );
// 			$this->apiRequestWebhook ( "sendMessage", array (
			$this->apiRequest ( "sendMessage", array (
					'chat_id' => $reply [0],
					"text" => $text
			) );
		}  else if(strtolower($text)=="invite") {
				$keyboard = [
					'inline_keyboard' => [[['text' =>  "ارسال به دوستان", 'switch_inline_query' => "invite"]]],
				];
				$markup = json_encode($keyboard, true);
				$this->apiRequest ( "sendPhoto", array (
						'chat_id' => $this->message['from']['id'],
						'photo' => "http://redirect.bayadic.com/assets/book.gif",
						"caption" => "سلام دوست خوبم، این یک دعوتنامه از طر� من برای است�اده از لغتنامه �ارسی به آلمانی و آلمانی به �ارسی هست، با ارسال این دعوتنامه دوستان شما اجازه است�اده از لغتنامه را خواهند داشت   ",
						"reply_markup" =>$markup
				) );
		}  else if($text=="invite5215996") {
				$keyboard = [
					'inline_keyboard' => [[['text' =>  "ارسال دعوتنامه", 'switch_inline_query' => "invite"]]],
				];
				$markup = json_encode($keyboard, true);
				$this->apiRequest ( "sendPhoto", array (
						'chat_id' => "@botposter",
						'photo' => "http://redirect.bayadic.com/assets/book.gif",
						"caption" => "برای ارسال دعوتنامه به دوستانتون می تونید با کلیک روی دکمه زیر، دوستتون رو از توی لیست انتخاب کنید، و یک دعوتنامه از طر� خودتون براش ب�رستید. اگه تلگرامتون به روز باشه دکمه رو می بینید",
						"reply_markup" =>$markup
				) );
		} else if(strpos($text,"/start") === 0) {
			$startMessageParts = explode(" ", $text);
			$referneceUserId = $startMessageParts[1];
			$dictionary = new DictionaryDatabaseHandler($this->botUsername);
			$newUserId= $this->message['from']['id'];
			if(!empty($referneceUserId) && $referneceUserId !=$newUserId ) {
				$membership = $dictionary->insertSuggested($referneceUserId,$newUserId);
				if($membership){
					$messageText= "تبریک، دعوتنامه شما معتبر است، برای است�اده از لغتنامه باید در کانال لغت نامه عضو شوید";
					$messageText.=PHP_EOL."لینک کانال";
					$messageText.=PHP_EOL."https://t.me/loghatkad";
				}
				else {
					$messageText= "شما قبلا در لغتنامه عضویت داشته اید";
					$messageText.=PHP_EOL."لینک کانال";
					$messageText.=PHP_EOL."https://t.me/loghatkad";
				}
				
				$this->apiRequest ( "sendMessage", array (
							'chat_id' => $this->message['from']['id'],
							'text' => $messageText
					) );
				
				$this->apiRequest ( "sendMessage", array (
						'chat_id' => 44903244,
						"text" => $this->message['from']['id']."@@@".$this->message['from']['username']."--".$this->message['from']['first_name']." ".$this->message['from']['last_name']
						.PHP_EOL.$this->message ['text'].PHP_EOL.$translatedTextMessage." member:".$memberObject['status'].PHP_EOL.PHP_EOL.$messageText,
				) );
			} 
			else	{
				$this->apiRequest ( "sendMessage", array (
						'chat_id' => $this->message['from']['id'],
						'text' => "به زودی کاربران برای عضویت در لغتنامه نیاز به دعوتنامه از سمت دوستان خود را خواهند داشت، اما شما می توانید هم اکنون برای است�اده از لغتنامه در کانال لغتنامه عضو شوید."
				) );
				
			}
			// 						.PHP_EOL."@loghatkad"
			$this->apiRequest ( "sendPhoto", array (
						'chat_id' => $this->message['from']['id'],
						'photo' => "http://redirect.bayadic.com/assets/book.gif",
						"caption" => "https://t.me/loghatha"
						.PHP_EOL."https://t.me/loghatkad".PHP_EOL
				) );
			
		} else {
			
			$memberObject = $this->apiRequest ( "getChatMember", array (
					'chat_id' => "@loghatha",
					'user_id' => $this->message['from']['id']
			) );
			// 						.PHP_EOL."@loghatkad"
// 			if($memberObject['status']!="member" && $memberObject['status']!="administrator"){
			if($memberObject['status']=="left" ){
								$this->apiRequest ( "sendPhoto", array (
						'chat_id' => $this->message['from']['id'],
						'photo' => "https://www.towist.com/autopost/images/loghatnamehenglish.jpg",
						"caption" => "برای استفاده از لغتنامه، باید در کانال خصوصی لغتنامه عضو شد"
						.PHP_EOL."در غیر این صورت لغتنامه قادر به ترجمه لغات نمی باشد "
						.PHP_EOL."https://t.me/joinchat/AAAAAEH84BG5nqvOgB6tDA".PHP_EOL
				) );
				if(!$this->debug)		
				return;
			}
			
			
			$loghatnameh = new LoghatnamehEnglish();

			$dictionary = new DictionaryEnglishDatabaseHandler($this->botUsername);
			$word = $this->message ['text'];
			
			if (preg_match ( '/[^A-Za-z0-9]/', $word ) 
					&& !preg_match('/ü/',$word)
					&& !preg_match('/Ü/',$word)
					&& !preg_match('/ä/',$word)
					&& !preg_match('/Ä/',$word)
					&& !preg_match('/ö/',$word)
					&& !preg_match('/Ö/',$word)
					&& !preg_match('/ß/',$word)) {
				$translationsArray = $dictionary->getTrnslations ( $word, "FA" );

				if (empty ( $translationsArray )){
					$translatedFrom ="😉";
					$translationsArray = $loghatnameh->translate ( urlencode ($word), "FA" );
// 					$translatedTextMessage = $loghatnameh->makeTranslationTextMessage();
					$dictionary->insertWordsWithTranslation($translationsArray, "FA", $word);
					$dictionary->getTrnslations ( $word, "FA" );

					$translatedTextMessage =  $dictionary->makeTranslationTextMessage();

				}
				else {

					$translatedTextMessage =  $dictionary->makeTranslationTextMessage();
					$this->apiRequest ( "sendMessage", array (
							'chat_id' => $this->chat_id,
							"text" => $translatedTextMessage
					) );
				}
					
			} 
			else  {
			
				$translationsArray = $dictionary->getTrnslations ( $word, "EN" );
				if (empty ( $translationsArray ) ){
					$translationsArray = $loghatnameh->translate ( $word, "EN" );
// 					$translatedTextMessage = $loghatnameh->makeTranslationTextMessage();
					$dictionary->insertWordsWithTranslation($translationsArray, "EN", $word);
					$dictionary->getTrnslations ( $word, "EN" );
					$translatedTextMessage =  $dictionary->makeTranslationTextMessage();
					$translatedFrom ="😉";
				}
				else {
					$translatedTextMessage =  $dictionary->makeTranslationTextMessage();
				}
			}

			$dictionary->insertUser($this->message['from']['id'], $this->message['from']['username'], $this->message['from']['first_name'],$this->message['from']['last_name']);
			$translated = true;
			if(strlen($translatedTextMessage) <= 5){
				$translatedTextMessage ="I dont know :(";
				$translated = false;
				}
				$dictionary->insertUserActivity($this->message['from']['id'],$word,$translated);
				$this->apiRequest ( "sendMessage", array (
						'chat_id' => $this->chat_id,
						"text" => $translatedTextMessage.PHP_EOL.$translatedFrom
				) );
				
// 				$key="trnsl.1.1.20161227T200147Z.ea68ee52a784814b.d57d90672c621ed4b707e054a845d8e0367ad95d";
// 				$translator = new Translator($key);
// 				$messageTranslation = $translator->translate($this->message['text'], "en-fa");
				
// 				$this->apiRequestWebhook( "sendMessage", array (
// 						'chat_id' => 44903244,
// 						"text" => $messageTranslation
// 				) );

			if($dictionary->isOverUsage($this->message['from']['id'],3)){
					
					// $keyboard = [
					// 'inline_keyboard' => [[['text' => "معر�ی‌ به دوستان", 'switch_inline_query' => "invite"]]],
					// ];
					// $markup = json_encode($keyboard, true);
					// $this->apiRequest ( "sendMessage", array (
					// 'chat_id' => 44903244,
					// "text" => $this->message['from']['id']."@@@".$this->message['from']['username']."--".$this->message['from']['first_name']." ".$this->message['from']['last_name']
					// .PHP_EOL.$this->message ['text'].PHP_EOL.$translatedTextMessage." member:".$memberObject['status'].strlen($translatedTextMessage),
					// "reply_markup" =>$markup
					// ) );
				$this->apiRequest ( "sendMessage", array (
						'chat_id' => 44903244,
						"text" => $this->message['from']['id']."@@@".$this->message['from']['username']."--".$this->message['from']['first_name']." ".$this->message['from']['last_name']
						.PHP_EOL.$text.PHP_EOL."translated:".$translated,
					));
// 				$this->apiRequest ( "sendMessage", array (
// 						'chat_id' => 44903244,
// 						"text" => $this->message['from']['id']."@@@".$this->message['from']['username']."--".$this->message['from']['first_name']." ".$this->message['from']['last_name']
// 						.PHP_EOL.$this->message ['text'].PHP_EOL.$translatedTextMessage." member:".$memberObject['status'].strlen($translatedTextMessage),
// 					));
				}
		}
		
// 		$this->apiRequest ( "sendMessage", array (
// 				'chat_id' => $this->chat_id,
// 				// "text" => $text." hi". $newsMaker->hasTopic
// 				"text" => "در حال ساخت"
// 		) );
	}
	
	
}

Filemanager

Name Type Size Permission Actions
german Folder 0755
swedish Folder 0755
TranslateEnglish.php File 20.95 KB 0644
TranslateService.php File 7.1 KB 0644