Telegram Site Helper 2.0-テレグラムに基づいたサイトのチャットアシスタント





こんにちは。 私の名前はアンドレイです。

昨年の夏、私はプロジェクトと記事「 Telegramを使用したサイトへのチャットアシスタントを15分で公開しました。 このプロジェクトのアイデアは、 ポップアップチャットアシスタントをサイトに実装することでした。このチャットアシスタントのバックエンドは、チャットテレグラムのメッセンジャーであり、人気が高まっています。



驚くべきことに、プロジェクトはすぐにGitHubでスターを獲得し始めました。世界中の人々から感謝の手紙とセットアップの支援のリクエストを受け取りました。 ホスティングでスクリプトを実行できませんでした。set_time_limit(0)がサポートされていない場合、503エラーが発生し、パスが正しく指定されません。

スクリプトの2番目のバージョンは、はるかに簡単にインストールでき、 WebHooksに基づいて動作します。



>>>> GitHubリポジトリへのリンク



一言で言えば、それは何ですか



画像

最後の記事を見たことがない人のために、私は繰り返します。 Telegram Site Helperは、 サイトのチャットアシスタントを実装するスクリプト(PHP、JS)のセットです(訪問者/クライアントがチャットでマネージャーに質問することができます)。 マネージャーは、Telegramメッセンジャーでメッセージを受け取ります。 そこで彼は答えることができます。 このシステムは、顧客の流れがあまり多くないサイトに適しています。 少し不便です。すべての訪問者からのすべてのメッセージが1つのチャットでマネージャーに届きます。 訪問者に応答を送信するには、マネージャーは最初に/ chat_1234コマンドを送信して「サブコマンド」を選択する必要があります。









新機能



WebHooksを使用したチャット



Telegramサーバー自体がサーバーに新しいメッセージを送信します。

TelegramサーバーへのLong Pollリクエストのためにバックグラウンドで永久に動作するスクリプトサーバーは不要になりました。 しかし、今ではHTTPSが必要です(これはTelegramポリシーです)。 証明書は、 購入するかStartSSLで無料にするか、自己署名することできます。



検索したくない人のために、ターミナル用のコマンド:

StartSSLのcsrファイルを作成する方法
sudo openssl req -nodes -newkey rsa:2048 -keyout apache.key -out apache.csr







自己署名証明書の作成方法
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout apache.key -out apache.crt







1つのファイルのみがインストールに使用されます。





リポジトリにあるファイルは1つだけです。telegram-site-helper-install.phpがインストーラーです。 必要なディレクトリを作成し、JS、CSS、および2つのPHPファイルを解凍します。

ここで、サイトのページに挿入する必要があるJSチャットコードを生成できます。

重要:インストーラー内のスクリプトはbase64でエンコードされます
base64は多くのWordpress / Joomla Webサイト所有者のウイルスインジェクションに関連付けられているため、base64でエンコードされたスクリプトのコンテンツを(たとえば、 このユーティリティを使用して )事前に研究することを恐れるすべての妄想的な人を招待します。





ポップアップおよび組み込みチャット、様式化



CSSに入らずにチャットのスタイルを設定できます。 フレームの色、背景、フォントはインストーラーから直接設定できます。



チャットは2つの表示モードもサポートしています。 他のHTML要素に埋め込むか 、画面の隅の1つに「 接着 」することができます。 チャットは、標準のラベルをクリックするか、任意のHTML要素をクリックすると開くことができます



すべてのラベル(「チャットを開始」、「名前を入力」、「ファイルを添付」など)を変更することもできます。



ファイル転送



これで、クライアントとマネージャーはファイル(写真とドキュメント)を交換できます。 ファイルはTelegramサーバーに保存され、ホスティングのスペースを占有しません。





JQueryは不要になりました



前回彼らが私をscったとき、彼らはあなたが小さなスクリプトを動作させるためにJQueryをドラッグしなければならないと言う。 すべてを実現し、今回はすべてを純粋なJavaScriptで記述しました。



サーバー側イベントまたはLongPollを介して機能します



サイト上のチャットは、ロングポーリングリクエストを使用するだけでなく、サーバーサイドイベントブロードキャストを使用してサーバーから更新を受信できるようになりました( set_time_limit(0)をサポートするホスティングサービスでのみ機能し、 flush()関数に問題はありません)



インストール方法



  1. SSHまたはFTP経由でサーバー/ VPS /ホスティングにログインします
  2. フォルダー(サイトのルートにある方が便利)を作成し、telegram-site-helperなどの名前を付けます。
  3. 彼女のchmod(アクセス権)を少なくとも0775にします(インストーラーはそこにフォルダーとファイルを作成します)
  4. このフォルダーにtelegram-site-helper-install.phpを注ぎます
  5. https経由でスクリプトを実行します(例: https: //mysite.ru/telegram-site-helper/telegram-site-helper-install.php





    https: //mysite.ru/telegram-site-helper/telegram-site-helper-install.php







    以下が表示されるはずです。
  6. 言語を選択し、「インストールを開始」をクリックします
  7. マネージャーの承認用のパスワードを作成し、適切なフィールドに入力します(マネージャーは、Telegramボットでの承認のためにこのパスワードを1回入力します)
  8. @BotFatherからボットのトークンを取得し、適切なフィールドにトークン(トークン)を挿入します。

  9. データを保存する場所を選択します:SQLiteまたはMySQL。 MySQLの場合-アクセスを設定します。
  10. 自己署名証明書を使用する場合、証明書へのフルパスを指定します(Telegramサーバーに送信する必要があります)

  11. [ 設定の確認とTelegram Site Helperのインストール]をクリックします
  12. インストールが成功した場合、次が表示されます。

  13. Telegramを開き、ボット " / login 1234 "(1234はマネージャーパスワード)に書き込みます。 インストールが成功した場合、ボットはあなたを認証します。

  14. ウィジェットジェネレータータブに移動します



  15. ウィジェットを構成し、コードをサイトにコピーします。 それだけです
  16. あなたがプロジェクトが好きなら-あなたは寄付を行うことができます。




今後の計画







記事の最後で、ボットのプラットフォームを提供してくれたTelegramチームに感謝します。 非常に便利なもの。

ありがとう



UPD! インストール後に、サーバーからインストーラーを削除し、フォルダーへのアクセス権を設定することを追加するのを忘れました。

迅速なプルリクエストとコードの批判に感謝します。 私は力と完成のための時間を探しています。



All Articles