Мне нужно, чтобы, когда пользователь отправлял картинку боту, бот отправлял эту картинку ему же, а точнее сохранить её URL в переменную, чтобы в дальнейшем работать с картинкой. Перекопал весь интернет, но не нашёл ничего нормального и работающего. Я знаю как отправить картинку, зная только url, поэтому мне самое главное получить url присланной картинки.
Это я что-то пытался сделать:
import vk_api
from vk_api.longpoll import VkLongPoll, VkEventType
token= '...'
vk_session = vk_api.VkApi(token=token)
session_api = vk_session.get_api()
longpoll = VkLongPoll(vk_session)
def sender(text):
vk_session.method('messages.send', {'user_id': id, 'message': text, 'random_id': 0})
def send_photo(url):
vk_session.method("messages.send", {"peer_id": id, "message": "TEST", "attachment": url, "random_id": 0})
for event in longpoll.listen():
if event.type == VkEventType.MESSAGE_NEW:
if event.to_me:
msg = event.text.lower()
id = event.user_id
sender(msg)
elif event.type == 'photo':
if event.to_me:
send_photo('photo-{}_{}'.format(event['user_id'], event['id']))
Это как отправить картинку с помощью её url:
import vk_api
from vk_api.longpoll import VkLongPoll, VkEventType
vk_session = vk_api.VkApi(token='...')
session_api = vk_session.get_api()
longpoll = VkLongPoll(vk_session)
def sender(text):
vk_session.method('messages.send', {'user_id': id, 'message': text, 'random_id': 0})
def send_photo(url):
vk_session.method("messages.send", {"peer_id": id, "message": "TEST", "attachment": url, "random_id": 0})
for event in longpoll.listen():
if event.type == VkEventType.MESSAGE_NEW:
if event.to_me:
msg = event.text.lower()
id = event.user_id
sender(msg)
send_photo('photo-126879742_457245742')