ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





نمایش نتایج: از 1 به 6 از 6
  1. #1
    تاریخ عضویت
    2020/05/02
    نوشته ها
    3
    0
    Junior Member

    Exclamation راه اندازی و فعال کردن وب هوک تلگرام برروی هاست ایرانی

    با سلام دوستان و ایام به کامتان با توجه به فیلتر شدن تلگرام و قاعدتا عدم دسترسی به سایت و وب سرویس و API های تلگرام از بستر اینترنت ایران چگونه میتونم با استفاده از کد ساده شده زیر به سایت تلگرام دسترسی و از ربات خودم دسترسی بگیرم مثلا با استفاده از پراکسی و هر روش دیگری لطفا اگر تجربه راه اندازی بر روی هاست خودتون رو که در ایران مستقره به اشتراک بذارید پیشاپیش از پاسخهاتون متشکرم فایل پیوست شده و با پسوند txt دخیره شده به شدت هم برنامه و منطق آن برای درک و ترس و دیباگ آن ساده شده است
    کد:
      	<?php
    	/**
    	 * Created by PhpStorm.
    	 * User: Saman
    	 * Date: 4/28/2020
    	 * Time: 1:59 AM
    	 */
    	define(&#39;TOKEN&#39;, &#39;587559800:AAFOsdfdsfsdfsdfsdfsdfsdfsdgdgfdfgsdgfgd0&#39;);
    	if (isset($_REQUEST[&#39;a&#39;])) {
    	    $action = $_REQUEST[&#39;a&#39;];
    	} else {
    	    echo &quot;invalid Data&quot;;
    	    exit;
    	}
    	switch ($action) {
    	    case &quot;getMe&quot; :
    	        getMe();
    	        break;
    	    default:
    	        echo &quot;Your favorite color is neither red, blue, nor green!&quot;;
    	
    	}
    	
    	function getMe()
    	{
    	
    	
    	    $url = &#39;https://api.telegram.org/bot&#39; . TOKEN . &#39;/getMe&#39;;
    	    //return file_get_contents($url);
    	    /*if($context = stream_context_create([
    	        &#39;http&#39; => [
    	            &#39;proxy&#39; => &#39;tcp:/195.201.202.83:88&#39;,
    	            &#39;request_fulluri&#39; => true
    	        ]
    	    ]));*/
    	    /*$context = stream_context_create([
    	        &#39;http&#39; => [
    	            &#39;proxy&#39; => &#39;tcp:/195.201.202.83:88&#39;,
    	            &#39;request_fulluri&#39; => true
    	        ]
    	    ]);*/
    	
    	    //return file_get_contents($url, false, $context);
    	    echo file_get_contents($url);
    	    //echo file_get_contents($url, false, $context);
    	}
    	
    	function testDatabase()
    	{
    	
    	    echo &quot;testDatabase&quot;;
    	}
    	
    	?>
    فایل های پیوست شده فایل های پیوست شده
    • نوع فایل: txt bot.txt (1.1 کیلو بایت, 1 مشاهدات)
  2. #2
    تاریخ عضویت
    2020/05/02
    نوشته ها
    3
    0
    Junior Member
    با پیگیری هایی که کردم فهمیدم این آیپی آدرس برای هاست های طلاهاست قابل استفاده است ولی هاست من برروی میزبان فا ست و نمیدونم از میزبان فا چه چیزی رو بخوام چونکه دانش شبکه و سرورم خیلی کمه و نمیخوام سکه رو یخ بشم و سوالم رو وقتی تیکت میکنم حرفه ای بنظر برسه الان سوالم اینکه از پشتیبانی سایت و سرورم چه چیزی برای رفع محدودیت تلگرام بخوام و باپیگیری های دیگه ای که کردم آیپی های برام ولید و معتبره که از پورت 443 و 80 باشند و اینها برای پروتکل پروکسی و ... میباشند
  3. #3
    تاریخ عضویت
    2017/11/18
    نوشته ها
    57
    55
    Administrator
    برای اینکه بتونید ربات تلگرام رو بسازید که هم بتونه توی هاست های ایرانی و هم هاست های خارجی کار کنه باید مراحل زیر رو به ترتیب انجام بدین.
    1- اول اینکه حتما حتما باید یه هاست سبک خارجی بخرید با قیمت کم و امکانات کم چون لازم نیست کارسنگینی رو انجام بده فقط بخاطر اینه که بتونه با سرور تلگرام در ارتباط باشه.
    2- بعد خرید هاست خارجی شما باید ربات تلگرام خودتون رو توی این هاست درست کنید و موقع وب هوک کردن هم این سرور رو به تلگرام معرفی کنید و مهمتر از همه باید یک وب سرویس مخصوص هم روی این سرور درست کنید تا خدمات ربات رو بتونه با اون وب سرویس به تمام سایت ها چه ایرانی چه خارجی بده.
    3- در مرحله آخر شما باید توی هاست بعدی که مثلا ایرانی است شما بیاید متن پیامی که می خواهید رو به وب سرویس بخش دوم ارسال کنید تا اون وب سرویس پیام شما رو به سرور تلگرام ارسال کنه در واقع یه جوری دارین پروکسی سرور درست می کنید.
  4. #4
    تاریخ عضویت
    2017/11/18
    نوشته ها
    57
    55
    Administrator
    کد مربوط به ربات تلگرام روی هاست خارجی:

    کد:
    $botToken = "36654000000000000000000000000000PDA";
    $webSite = "https://api.telegram.org/bot" . $botToken;
    
    $update = file_get_contents("php://input");
    $update = json_decode($update, TRUE);
            
    
    $chatId = $update["message"]["chat"]["id"];
    $message = $update["message"]["text"];
    if($message !== null){
        if($chatId === null) $chatId=0;
        switch ($message) {
            case "/start":
                sendMessage($chatId, "کاربر محترم به ربات نوتيف سايت خوش اومديد آي دي شما جهت ارسال پيام ".$chatId. " مي باشد.");
                break;
            case "/chat_id":
                sendMessage($chatId, "Chat_ID: ".$chatId);
                break;    
            default:
                sendMessage($chatId, "دستور وارد شده نامعتبر است!");
        
        }
    }
    
    function sendMessage($chatId, $message)
    {
        $url = $GLOBALS['webSite'] . "/sendMessage?chat_id=" . $chatId . "&text=" .urlencode($message);
        file_get_contents($url);
    }
    کد مربوط به وب سرویس روی هاست خارجی:

    کد:
    <?php
    require_once ('lib/nusoap.php');
    
    if (!defined('PHP_VERSION_ID')) {
        $version = explode('.', PHP_VERSION);
    
        define('PHP_VERSION_ID', ($version[0] * 10000 + $version[1] * 100 + $version[2]));
    }
    if (PHP_VERSION_ID < 50207) {
        define('PHP_MAJOR_VERSION',   $version[0]);
        define('PHP_MINOR_VERSION',   $version[1]);
        define('PHP_RELEASE_VERSION', $version[2]);
    }
    
    class Notifcaster_Telegram
    {
        protected
            $api_token        = '',
            $chat_id        = null,
            $url        = '',
            $api_method = null;
        /**
         * Notifcaster API constructor
         * @param string $api_token
         * @param string $url
         */
        public function Notifcaster($token_bot,$chat_id)
        {
            $this->api_token = $token_bot;
            $this->chat_id = $chat_id;
            $this->url = 'https://api.telegram.org/bot'.$this->api_token;
        }
        /**
         * Telegram API constructor
         *
         * @param string $bot_token
         *
         */
        public function _telegram($bot_token)
        {
            $this->url = 'https://api.telegram.org/bot'.$bot_token;
        }
        /**
         * Send Notification to user
         *
         * @param string $msg
         *
         * @return string
         */
        public function notify($msg = 'NULL')
        {
            $params = array(
                'chat_id'  => $this->chat_id,
                'text'        => $msg
            );
            $this->api_method = "/sendMessage";
            $this->url = 'https://api.telegram.org/bot'.$this->api_token.$this->api_method;
            $response = $this->make_request($params);
            return $response;
        }
        /**
         * Request Function
         *
         * @param array $params
         * @param string $file_upload
         *
         * @return string "success" || error message
         */
        protected function make_request(array $params = array())
        {
            if (function_exists('curl_init')) {
                $curl = curl_init($this->url);
                $params = http_build_query($params);
                curl_setopt_array($curl, array(
                    CURLOPT_SSL_VERIFYPEER => 0,
                    CURLOPT_SSL_VERIFYHOST => 0,
                    CURLOPT_RETURNTRANSFER => 1,
                    CURLOPT_POST => 1,
                    CURLOPT_POSTFIELDS => $params
                ));
                $response = curl_exec($curl);
                curl_close($curl);
            } else {
                $context = stream_context_create(array(
                    'http' => array(
                        'method' => 'POST',
                        'header' => "Content-type: application/x-www-form-urlencoded\r\n",
                        'content' => $post,
                        'timeout' => 10,
                    ),
                ));
                $response = file_get_contents($this->url.$this->api_method, false, $context);
            }
            return $this->response = json_decode($response, true);
        }
    }
    
    
    class  telegram{
        private $token_user;
        private $token_bot;
        private $sendnotify_users;
    
        public  function __construct()
        {
            $this->token_users = '0000000';
            $this->token_bot = '3665000000000000000000000000PDA';
            $this->sendnotify_users = true;
        }
    
        public function send_notif_to_user($msg){
            if($this->sendnotify_users) {
                $token_user = explode(',', $this->token_users);
                foreach ($token_user as $value) {
                    $nt = new Notifcaster_Telegram();
                    $nt->Notifcaster($this->token_bot,$value);
                    $nt->notify($msg.PHP_EOL);
                }
                return 'OK';
            }
            return 'NO';
        }
    
    }
    
    function verify_key($key){
        return ($key === '#keystring#');
    }
    
    function send_notif($msg,$key){
        if(verify_key($key)){
            $notif_telegram = new telegram();
            return json_encode($notif_telegram->send_notif_to_user($msg));
        }
    }
    
    try {
    
       $server = new nusoap_server();
       $server->configureWSDL('web_service', 'urn:web_service');
       $server->register('send_notif',
        array('msg' => 'xsd:string','key' => 'xsd:string'),  //parameter
        array('data' => 'xsd:string'),  //output
        'urn:web_service',   //namespace
        'urn:web_service#send_notif' //soapaction
    );
        $server->service(file_get_contents("php://input"));
    }catch (Exception $e) {
        echo 'Caught exception: ',  $e->getMessage(), "\n";
    }
    ?>
    کد مربوط به ارسال پیام به ربات تلگرام در هاست های ایرانی (استفاده از وب سرویس ایجاد شده بر روی هاست خارجی):

    کد:
    $result = array();
                    $wsdl = $this->settings['telegram_proxy'];
                    //require_once ('../lib/nusoap.php');
                    $client = new nusoap_client($wsdl, true);
                    $err = $client->getError();
                    if ($err) {
                        //echo '<h2>Constructor error</h2>' . $err;
                        //exit();
                    } else{
                        $result = $client->call('send_notif', array($msg.PHP_EOL.moduls::get_home_url(),$this->settings['telegram_key']));
                        //$result = json_decode($result);
                    }


    نکته: دقت کنید که حتما پوشه lib مربوط به فایل های وب سرویس در کنار پروژه باشد(lib/nusoap.php).
  5. #5
    تاریخ عضویت
    2020/05/02
    نوشته ها
    3
    0
    Junior Member
    ممنون جناب مدیر
    فقط من چونکه از ربات تلگرامی میخواستم اطلاعاتی را از بانک اطلاعاتی سایتم بگیره و به مشترکین ربات ارسال کنه اجبارا باید از یک هاست استفاده کنم الان گزینه هام اینکه یا کلا برم رو هاست خارجی و یا از هاست ایرانیه طلاهاست استفاده کنم چونکه فک میکنم تنها شرکتی هستش که بر روی سرورهاش پراکسی نصب کرده
  6. #6
    تاریخ عضویت
    2017/11/18
    نوشته ها
    57
    55
    Administrator
    برای موردی که بالا توضیح دادم می تونید اطلاعاتی رو توی دیتابیس ذخیره و از اونجا به کاربران خودتون ارسال کنید هیچ محدودیتی ندارید فقط باید اینو بدونید چون تلگرام توی ایران مسدوده نمی تونید برای ربات از هاست ایرانی استفاده کنید پس حتما باید یه دونه هاست خارجی کمکی داشته باشین فقط مخصوص ربات تلگرام بعد بقیه سایت های که طراحی می کنید می تونید به این هاست با وب سرویس وصل بشین و پیام ها رو ارسال کنید.
نمایش نتایج: از 1 به 6 از 6

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •