問題タブ [telegram-bot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
55362 参照

python - 電報ボットで認証を取得するにはどうすればよいですか?

電報ボットの準備が整いました。

Web ブラウザと Web サイトにたとえると、テレグラム クライアント アプリケーションはブラウザ クライアントに似ています。

テレグラム チャットルームはウェブサイトのようなものです。

特定のユーザーのみに制限したい情報があるとします。Web サイトには認証があります。

電報ボットで同じ効果を得るにはどうすればよいですか?

ディープリンクが使えると言われました。説明はこちら

以下に再現します。

  1. @ExampleComBot などの適切なユーザー名でボットを作成します。
  2. 受信メッセージ用の Webhook を設定する
  3. 十分な長さのランダムな文字列を生成します (例: $memcache_key = "vCH1vGWJxfSeofSAs0K5PA")。
  4. 値 123 とキー $memcache_key を Memcache に 3600 秒 (1 時間) 挿入します。
  5. ユーザーにボタンhttps://telegram.me/ExampleComBot?start=vCH1vGWJxfSeofSAs0K5PAを表示します
  6. /start で始まる受信メッセージで渡されるパラメーターを使用して Memcached にクエリを実行するように Webhook プロセッサを構成します。キーが存在する場合は、webhook に渡された chat_id をユーザー 123 の telegram_chat_id として記録します。Memcache からキーを削除します。
  7. ここで、ユーザー 123 に通知を送信する場合、フィールド telegram_chat_id があるかどうかを確認します。はいの場合は、ボット API の sendMessage メソッドを使用して、Telegram でメッセージを送信します。

ステップ1のやり方は知っています。

残りを理解したい。

これは、ステップ 2 を解読しようとしたときに頭に浮かんだイメージです。

ここに画像の説明を入力してください

したがって、さまざまなテレグラム クライアントは、アプリケーションで ExampleBot と通信するときに、テレグラム サーバーと通信します。通信は双方向です。

ステップ 2 は、Telegram サーバーが Webhook を介して ExampleBot サーバーを更新することを示唆しています。Webhook は単なる URL です。

これまでのところ、私は正しいですか?

これを認証に使用するための次のステップは何ですか?

0 投票する
3 に答える
6997 参照

telegram-bot - Telegram ボット API は Webhook に JSON POST データを送信しません

Webhook の JSON POST データを取得できないようです。すべてを正しく設定し (Webhook URL、サーバーが POST リクエストを取得しているかどうかもテスト済み)、ユーザーが何かを投稿するとリクエストが送信されますが、POST データも GET データもログに記録されません。これは一般的なバグですか、それとも私だけですか?

0 投票する
1 に答える
336 参照

python - urlopen から取得した投稿画像

写真を投稿するために、Telegram Bot APIにファイルを送信します。私は Google App Engine で python を使用しています。URL から画像をダウンロードし、ディスク上に中間ファイルを作成せずに、Telegram メッセージで送信したいと考えています (これはプラットフォームでは不可能だと思います)。

ディスクから取得した画像は送信できましたが、URL から取得した画像は送信できません。作業コードは次のとおりです。

urlopen で写真を取得しても機能しません。StringIO を使用してみましたが、どちらも機能しません。何か案は?

0 投票する
2 に答える
7788 参照

json - サーバーなしで Telegram ボットをセットアップする

私はWeb技術に精通していないので、電報ボットに単純なことをさせる方法があるかどうかを知りたいです-setWebhookを使用することです(誰かが送信するたびに同じメッセージを何度も繰り返すなど)メッセージ)サーバーをセットアップせずに

JSONオブジェクトを解析してchat_idを取得してメッセージを送信できるようにする必要があるため、これを回避する方法はないと思います...しかし、ここの誰かが方法を知っていることを願っています.

例えば

ハードコーディングされたチャットIDでテストしましたが、動作します...しかし、もちろん、メッセージを受信した場所に関係なく、常に同じチャットにのみメッセージを送信します.

0 投票する
4 に答える
10099 参照

api - Telegram ボット API webHook でオフセットを使用する方法

2 日間以来、私は Telegram ボット API を調査してきました。これは非常に優れています。しかし、私が理解できないことが1つあります。

webHook を使用せずに呼び出しを使用する場合、パラメーターを介して、サーバーによって処理されたメッセージを/getUpdatesAPI に伝えることができます。offset

しかし、webHook を使用してこれを行うにはどうすればよいでしょうか。更新と同じメッセージが表示され続けます。その結果、サーバーはユーザーに同じメッセージをスパム送信します。

私が思いついた解決策は次のとおりです。

  1. Webhook から更新を受け取る
  2. を助けてupdate_id
  3. ユーザーに返信する/sendMessage
  4. WebHook を無効にする/setWebhook?url=
  5. オフセットを設定する/getUpdates?offset={update_id+1}
  6. webHook を元に戻す/setWebhook?url=https://mywebhook.domain.com

もっと良い方法があるはずですよね?誰?

0 投票する
6 に答える
98630 参照

api - Telegram ボットに送信されたファイルまたは写真をダウンロードするにはどうすればよいですか?

テレグラム ボット API を使用していますが、ボットに送信されたファイルをダウンロードする方法がわかりません。ファイルのハッシュを取得しましたが、それをどうするかわかりません。何か方法はありますか?ありがとう。

0 投票する
2 に答える
33448 参照

php - PHP のテレグラム ボット カスタム キーボード

カスタム キーボードを使用して、PHP でテレグラム ボットを作成しようとしています。メッセージは配信されますが、カスタム キーボードが機能しません。$keyb = array('keyboard' => array(array("A", "B"))); また、成功しません。

sendMessageメソッドは、オブジェクトのReplyKeyboardMarkupを参照します。ReplyKeyboardMarkup の配列を作成しても機能しません。json_encode($keyb) も試みましたが、それも解決策ではありません。

GitHub で例を検索しましたが、カスタム キーボードが使用されている例は見つかりませんでした。Telegram は最新の iPhone とデスクトップで動作します。

サンプルコード: