سلام و خسته نباشید
دوستان این ماژولی که آقای یکتا نوشتند رو آیا راهی داره که تصویر هم بتونیم ارسال کنیم ؟
مثلا یه فیلد اضافی از نوع تصویر یا از نوع متن که لینک تصویر توش باشه مشخص کنیم که به کانال ارسال بشه
در ماژول فعلی به دلیل اینکه نمیشه عکس و استیکر ارسال کرد زیاد کاربرد نداره !!!!!!
<?php /** * Post news to telegram service on Datalife Engine CMS * * @author Mohammadreza Yektamaram <[email protected]> * @link http://www.datalifeengine.ir/ * @copyright 2006-2016 Datalife Engine * @since 2016 Sep 16 22:36 * @version 1.0 */ class telegram { /** * Enable/Disable web preview for link on telegram * @var boolean true - false */ private $web_preview = true; /** * Enable/Disable notification to users on channel * @var boolean true - false */ private $silent = false; /** * Telegram authorization token * @var string */ private $token = "***"; // EX: 214603227:BACiE6b5DYJvrlLTVi5G-NKqSrXZetEspz /** * Telegram ID * @var string */ private $id = "@CHANNEL"; /** * Telegram API URL * @var string */ private $bot_url = "https://api.telegram.org/bot"; /** * News ID to post on telegram * @var integer */ private $news_id; /** * Title of news * @var string */ private $title; /** * Content of news * @var string */ private $message; /** * Constructor, Handle to send news on telegram */ public function __construct() { global $db; $this->news_id = $db->insert_id(); $this->_filter(); $this->_send(); } /** * Filter for title & content of news */ private function _filter() { $this->title = trim( strip_tags ( $_POST[ 'title' ] ) ); $this->message = $_POST[ 'short_story' ]; $this->message = html_entity_decode( stripslashes( str_replace( array( "<br />", "<br/>", "<br>" ), "\n", trim( $this->message ) ) ) ); $this->message = strip_tags( $this->message, "<b><strong><i><em><code><pre>" ); } /** * Send news to telegram channel */ private function _send() { if ( $this->web_preview ) $this->title = "<a href='" . $this->_newsLink() . "'>{$this->title}</a>"; $silent = ( $this->silent ? "&disable_notification=true" : "" ); $url = $this->bot_url . $this->token . "/sendMessage?chat_id=@{$this->id}&parse_mode=html{$silent}&text=" . urlencode( $this->title . "\n" . $this->message ); file_get_contents( $url ); } /** * Get added news */ private function _newsLink() { global $db, $config; $row = $db->super_query( "SELECT `id`, `alt_name`, `category` FROM `" . PREFIX . "_post` WHERE `id` = " . $this->news_id ); return $config[ 'http_home_url' ] . get_url( $row[ 'category' ] ) . "/" . $row[ 'alt_name' ] . ".html"; } } new telegram; ?>
واقعا دیتالایف یه ماژول کاملی در این خصوص نیاز داره ؟!!!
ویژگی های ماژول :
- در حین ارسال مطلب یه چک باکس باشه که اگه تیک زدیم مطلب در کانال ارسال بشه. (یعنی مطالب دلخواه)
- یه فیلد برای تصویر و استیکر فراهم بشه.
- یه فیلد هم برای لینک مطلب (لینک رو دستی تعیین کنیم)