【问题标题】:How do I get the user picture/avatar using the Telegram bot chat API?如何使用 Telegram 机器人聊天 API 获取用户图片/头像?
【发布时间】:2016-08-12 12:14:09
【问题描述】:

user object没有photo_id,有没有办法获取用户头像?

【问题讨论】:

    标签: telegram telegram-bot avatar php-telegram-bot


    【解决方案1】:

    我没有找到任何php 代码,但是这个nodejs sn-p 对我有用,所以我放这个是为了让您了解它是如何工作的。

    1. 创建一个机器人(开始在您的电报中与@botfather 聊天)
    2. 机器人创建完成后,它会给你一个HTTP API的令牌
    3. $ npm install --save node-telegram-bot-api
    4. node_modules文件夹旁边创建一个js文件(例如:server.js
    5. 将此代码放入server.js 文件中,然后使用$ node server.js 运行它

          const TelegramBot = require('node-telegram-bot-api');
          // replace the value below with the Telegram token you receive from @BotFather  
          const token = 'XXXX35XXXX:XXXX7DCYw5IsY6DHcwXXXXXXXXX';
          // Create a bot that uses 'polling' to fetch new updates    
          const bot = new TelegramBot(token, {
              polling: true
          });
          // Matches "/echo [whatever]"    
          bot.onText(/\/echo (.+)/, (msg, match) => {
              // 'msg' is the received Message from Telegram    
              // 'match' is the result of executing the regexp above on the text content    
              // of the message    
      
              const chatId = msg.chat.id;
              const resp = match[1]; // the captured "whatever"    
      
              // send back the matched "whatever" to the chat    
              bot.sendMessage(chatId, resp);
          });
          // Listen for any kind of message. There are different kinds of  
          // messages.  
          bot.on('message', (msg) => {
              const chatId = msg.chat.id;
              var user_profile = bot.getUserProfilePhotos(msg.from.id);
              user_profile.then(function (res) {
                  var file_id = res.photos[0][0].file_id;
                  var file = bot.getFile(file_id);
                  file.then(function (result) {
                      var file_path = result.file_path;
                      var photo_url = `https://api.telegram.org/file/bot${token}/${file_path}`
                      bot.sendMessage(chatId, photo_url);
                  });
              });
          });
      

    【讨论】:

      猜你喜欢
      • 2018-05-29
      • 2022-09-29
      • 2023-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-03
      • 1970-01-01
      • 2016-09-13
      相关资源
      最近更新 更多