The user object has no photo_id, so is there way to get the user's avatar?
1. Send the command /setuserpic to the bot responsible for creating other @BotFather bots. 2. Send an image to the dialog that will be set as the bot's avatar.
Any file can be downloaded by calling upload. getFile.
Pass a file_id as String to send a photo that exists on the Telegram servers (recommended), pass an HTTP URL as a String for Telegram to get a photo from the Internet, or upload a local photo by passing a file path. (Optional). Photo caption (may also be used when re-sending photos by file_id), 0-1024 characters.
I didn't find any php
code, but this nodejs
snippet worked for me so I put this to give you the idea that how it works.
HTTP API
js
file beside the node_modules
folder(for example: server.js
)put this codes in the server.js
file and then run it with $ 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);
});
});
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With