telegram editMessageMedia alternative for telepot

670 Views Asked by At

python's telepot library is no longer being maintained and updated in new telegram bot api update editMessageMedia was added

how to use it with http GET/POST request ? ( requests library or any other lib )

1

There are 1 best solutions below

1
On BEST ANSWER

You can invoke the endpoint by sending a request via requests like this but note that there are various maintained bot libraries out there you can utilize.

import requests
import json

BOT_TOKEN = ' ... '
CHAT_ID = ...
MESSAGE_ID = ...

files = {
    'media': open('./photo.jpg', 'rb'),
}

media = json.dumps({
    'type': 'photo',
    'media': 'attach://media'
})

message = f"https://api.telegram.org/bot{BOT_TOKEN}/editMessageMedia?chat_id={CHAT_ID}&message_id={MESSAGE_ID}&media={media}"

result = requests.post(message, files = files)

print(result.json())

set the values for CHAT_ID, MESSAGE_ID and BOT_TOKEN. Also, update './photo.jpg' with the path to the new file.

One last thing if the media you are trying to edit is not photo (audio and other files), update the line 'type' : 'photo' as well. (check out https://core.telegram.org/bots/api#inputmedia for details)