我试图通过机器人发送kik消息,但不是通过官方的kik bot发送消息,这是一种非官方的bot,用户在该机器人上登录,而不仅仅是托管在kik上的机器人。我正在尝试使用https://github.com/tomer8007/kik-bot-api-unofficial作为主要漫游器,但他尚未实现图像发送。我正在尝试自己添加它,但我和开发人员似乎无法弄清楚。这是代码示例
class OutgoingChatImage(XMPPElement):
"""
Represents an outgoing image chat message to another kik entity (member or group)
"""
def __init__(self, peer_jid, file_url, is_group=False):
super().__init__()
self.peer_jid = peer_jid
self.file_url = file_url
self.allow_forward = True
self.is_group = is_group
def serialize(self):
timestamp = str(int(round(time.time() * 1000)))
message_type = "direct" if not self.is_group else "public"
iconUrl=self.file_url
images= ('<preview>{}</preview>'
'<icon>{}</icon>'
'<name>"Gallery"</name>'
).format(self.file_url, iconUrl)
strings=('<app-name>Gallery</app-name>'
'<allow-forward>{}</allow-forward>'
'<file-name>"image.jpg"</file-name>'
'<file-url>{}</file-url>'
).format(self.allow_forward, self.file_url)
data = ('<message type="{}" to="{}" id="{}" cts="{}">'
'<kik push="true" qos="true" timestamp="{}" />'
'<request xmlns="kik:message:receipt" r="true" d="true" />'
'<content app-id="com.kik.ext.gallery" id="{}" v="2">'
'<strings>{}</strings>'
'<images>{}</images>'
'<uris/>'
'</content>'
'</message>'
).format(message_type, self.peer_jid, self.message_id, timestamp,
timestamp, self.message_id, strings, images)
return data.encode()
这是我到目前为止所拥有的。目前,Kik的服务器将通过“您必须等待24小时才能发送图像”来回复发送的图像,但是即使我将其发送到聊天室中已经24小时,实际上也不会发送。或者,它确实发送了它,但没有预览它。我不确定。如果你们有什么建议,那就太好了!我希望收到你们的回音。如果您需要其他数据,请告诉我。