Интеграция чат бот Telegram с репостом в группу + комментарии [OkayCMS]

20.11.2020
Интеграция чат бот Telegram с репостом в группу + комментарии [OkayCMS]

Готовы скрип для внедрения в OkayCMS с авторепостом новостей/блогов через API Telegram.

Установка:

Перейти в FTP, выбрать файл: backend/core/PostAdmin.php

И после:

$this->design->assign('message_success', 'added');

Вставить:

// Загрузка изображения
$image = $this->request->files('image');
if (!empty($image['name']) && ($filename = $this->image->upload_image($image['tmp_name'], $image['name'], $this->config->original_blog_dir))) {
                        $this->image->delete_image($post->id, 'image', 'blog', $this->config->original_blog_dir, $this->config->resized_blog_dir);
                        $this->blog->update_post($post->id, array('image'=>$filename));
                    }
                    $re = '/\.(?:jp(?:e?g|e|2)|gif|png|tiff?|bmp|ico)$/i';
                    $str = $filename;
                    $imagePostTelegram = preg_replace ($re, "",$str); //вырезка изображения (без формата)

                    $ch = curl_init();
                    curl_setopt_array(
                        $ch,
                        array(
                            CURLOPT_URL => 'https://api.telegram.org/bot САМ API /sendPhoto',
                            CURLOPT_POST => TRUE,
                            CURLOPT_RETURNTRANSFER => TRUE,
                            CURLOPT_TIMEOUT => 10,
                            CURLOPT_POSTFIELDS => array(
                                'chat_id' => 'ID группы (куда репост)',
                                'caption' => '<a href="https://priluki.by/new/'.$post->url.'"><b>'.$post->name.'</b></a> <pre>'.$post->meta_description.'</pre>',
                                'photo' => 'https://priluki.by/files/blog_resized/'.$imagePostTelegram.'.360x360.jpeg',// <- ВОТ тут допилить
                                'message' => 'test',
                                "parse_mode" => "HTML"
                            ),
                        )
                    );
                    curl_exec($ch);

Сам API Telegrama получить не буду описывать, информации полно в интернете. Чтоб получить Api чата (куда публикации кидать), нужно сделать маленькую махинацию:

https://api.telegram.org/bot CАМ API БОТА​​​​​​​ /getUpdates

Перейти по этой ссылке, только вставить ваш ключ, вы увидите как бы говоря в json логи бота. Куда, где и кому писал, вот там есть sender_chat: {id: ********} вот этот айди и есть Ваш чат.

На выходе, когда вы добавляете новость/блог, автоматический репостит эту новость с изображением, ссылкой и announce в группу:

Если есть какие то у Вас вопросы, пишите в комментарий, ответим, поможем чем сможем.

Рейтинг: 5/5 - 1 голосов

Комментарии (0)




Разрешённые теги: <b><i><br>Добавить новый комментарий:


© 2020 Siteapp.by | Все права защищены