telegram - 如何使用 Telegram bot chat API 获取用户图片/头像?

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

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

最佳答案

我没有找到任何 php代码,但是这个 nodejs片段对我有用,所以我把它放在让你知道它是如何工作的。

  • 创建一个机器人(开始在你的电报中与@botfather 聊天)
  • bot创建完成后,会给你一个HTTP API的token
  • $ npm install --save node-telegram-bot-api
  • 创建 js node_modules旁边的文件文件夹(例如:server.js)
  • 将此代码放入 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);
                });
            });
        });
    
  • 关于telegram - 如何使用 Telegram bot chat API 获取用户图片/头像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36733263/

    相关文章:

    react-native - 如何使用 react-native-elements 在 List Item 的左侧 Avatar 中设置本地目录图像?

    ASP.Net MVC 3 : Get length in kb of an WebImage

    python - telethon:根据他们来自的聊天类型过滤事件

    c# - 如何在 TLSharp 重用 session.dat?

    编码电报机器人时出现 Node.js 错误

    flask - 通过 pythonanywhere.com 上的 pyTelegramBotAPI 和 Flask 使用 Telegram bot webhook

    python - 从 python-telegram-bot 中获取群组成员信息

    android - 如何在我的 Android 应用程序中检索用户的 Facebook 头像?

    java - Android 默认 min sdk 不工作

    api - 如何在 Telegram 中获取电话号码的user_id