user object没有photo_id,那么有没有办法获取用户的头像?
最佳答案
我没有找到任何 php
代码,但是这个 nodejs
片段对我有用,所以我把它放在让你知道它是如何工作的。
HTTP API
的token 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/