我正在尝试通过机器人发送kik消息,但不是官方的kik机器人,这是一个非官方的机器人,它是用户登录的,而不仅仅是托管在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小时,它实际上也没有发送它。或者,它确实发送了它,但不预览它。我不确定。如果你们有任何建议,那就太好了!我很想听听你们的回复。如果您需要任何其他数据,请告诉我。
发送图像现在在GitHub上实现。