我正在尝试创建一个Viber聊天机器人,可以发送一些图片。我需要发送一个图像作为参数的网址,但我想发送的图像是在我的桌面上,我不知道如何获得他们的网址。你知道吗
我尝试使用请求:
image = { "media": open('test_image.jpg', 'rb')}
jason = {
"auth_token": "my token",
"receiver": "my chat id",
"type": "picture",
"text": "some text",
}
requests.post("https://chatapi.viber.com/pa/send_message", json=image, file=image)
我也尝试过使用imgur API
,但一直使用selenium进行“pin”身份验证是件很痛苦的事。你知道吗
这是我的密码:
from viberbot import Api
from viberbot.api.bot_configuration import BotConfiguration
from viberbot.api.messages.picture_message import PictureMessage
from viberbot.api.viber_requests import ViberMessageRequest
from flask import Flask, request, Response
app = Flask(__name__)
bot_configuration = BotConfiguration(
name='name',
avatar='http://viber.com/avatar.jpg',
auth_token='token'
)
viber = Api(bot_configuration)
@app.route('/', methods=['POST'])
def index():
viber_request = viber.parse_request(request.get_data())
if isinstance(viber_request, ViberMessageRequest):
message = viber_request.message
if message.text == "/pic":
viber.send_messages(viber_request.sender.id, [
PictureMessage(media="image url", text="Some text")
])
return Response(status=200)
if __name__ == '__main__':
app.run(debug=True)
综上所述:
图片消息对象PictureMessage(media="image url", text="Some text")
“media”必须是图像的URL(仅支持JPEG)。
如何将桌面上的图像转换为URL?你知道吗
生成文件URI,例如
file:///C:/Users/bob/Desktop/avatar.jpg
。你知道吗如何生成整个路径取决于这些文件的位置。但语法是这样的:
https://en.wikipedia.org/wiki/File_URI_scheme
您应该阅读它,注意路径前面的3个斜杠,并理解原因(因为它是
file://localhost/C:/Users/bob/Desktop/avatar.jpg
的缩写)。你知道吗相关问题 更多 >
编程相关推荐