用户对象没有photo_id,那么有没有办法获取用户的头像?
问问题
13572 次
1 回答
3
我没有找到任何php
代码,但是这个nodejs
片段对我有用,所以我把它放在这里是为了让你知道它是如何工作的。
- 创建一个机器人(开始在您的电报中与@botfather 聊天)
- 机器人创建完成后,它会给你一个令牌
HTTP API
- $ 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); }); }); });
于 2017-12-25T09:59:04.617 回答