single video support long message split.
minor bug fix
This commit is contained in:
163
rssbot.py
163
rssbot.py
@@ -199,11 +199,13 @@ class main:
|
|||||||
if i == self._setting._maxRetryCount:
|
if i == self._setting._maxRetryCount:
|
||||||
if returnError and re is not None and 'description' in re:
|
if returnError and re is not None and 'description' in re:
|
||||||
return False, re['description']
|
return False, re['description']
|
||||||
else:
|
elif returnError:
|
||||||
return False, ''
|
return False, ''
|
||||||
|
else:
|
||||||
|
return False
|
||||||
elif getListCount(content, 'imgList') == 1 and getListCount(content, 'videoList') == 0:
|
elif getListCount(content, 'imgList') == 1 and getListCount(content, 'videoList') == 0:
|
||||||
f = True
|
f = True
|
||||||
while len(text) > 0:
|
while len(text) > 0 or f:
|
||||||
if f:
|
if f:
|
||||||
di['caption'] = text.tostr(1024)
|
di['caption'] = text.tostr(1024)
|
||||||
else:
|
else:
|
||||||
@@ -215,15 +217,18 @@ class main:
|
|||||||
di['photo'] = content['imgList'][0]
|
di['photo'] = content['imgList'][0]
|
||||||
re = self._request('sendPhoto', 'post', json=di)
|
re = self._request('sendPhoto', 'post', json=di)
|
||||||
else:
|
else:
|
||||||
fileEntry = self._tempFileEntries.add(content['imgList'][0])
|
fileEntry = self._tempFileEntries.add(
|
||||||
|
content['imgList'][0])
|
||||||
if not fileEntry.ok:
|
if not fileEntry.ok:
|
||||||
continue
|
continue
|
||||||
if self._setting._sendFileURLScheme:
|
if self._setting._sendFileURLScheme:
|
||||||
di['photo'] = fileEntry._localURI
|
di['photo'] = fileEntry._localURI
|
||||||
re = self._request('sendPhoto', 'post', json=di)
|
re = self._request(
|
||||||
|
'sendPhoto', 'post', json=di)
|
||||||
else:
|
else:
|
||||||
fileEntry.open()
|
fileEntry.open()
|
||||||
re = self._request('sendPhoto', 'post', json=di, files={'photo': (fileEntry._fullfn, fileEntry._f)})
|
re = self._request('sendPhoto', 'post', json=di, files={
|
||||||
|
'photo': (fileEntry._fullfn, fileEntry._f)})
|
||||||
else:
|
else:
|
||||||
re = self._request('sendMessage', 'post', json=di)
|
re = self._request('sendMessage', 'post', json=di)
|
||||||
if re is not None and 'ok' in re and re['ok']:
|
if re is not None and 'ok' in re and re['ok']:
|
||||||
@@ -233,64 +238,112 @@ class main:
|
|||||||
if 'photo' in di:
|
if 'photo' in di:
|
||||||
del di['photo']
|
del di['photo']
|
||||||
f = False
|
f = False
|
||||||
|
if config.disable_web_page_preview:
|
||||||
|
di['disable_web_page_preview'] = True
|
||||||
break
|
break
|
||||||
if i == self._setting._maxRetryCount:
|
if i == self._setting._maxRetryCount:
|
||||||
if returnError and re is not None and 'description' in re:
|
if returnError and re is not None and 'description' in re:
|
||||||
return False, re['description']
|
return False, re['description']
|
||||||
else:
|
elif returnError:
|
||||||
return False, ''
|
return False, ''
|
||||||
|
else:
|
||||||
|
return False
|
||||||
elif getListCount(content, 'imgList') == 0 and getListCount(content, 'videoList') == 1:
|
elif getListCount(content, 'imgList') == 0 and getListCount(content, 'videoList') == 1:
|
||||||
di['caption'] = text.tostr()
|
f = True
|
||||||
di['parse_mode'] = 'HTML'
|
while len(text) > 0 or f:
|
||||||
if self._setting._downloadMediaFile and not self._setting._sendFileURLScheme:
|
if f:
|
||||||
di2 = {}
|
di['caption'] = text.tostr()
|
||||||
if not self._setting._downloadMediaFile:
|
|
||||||
di['video'] = content['videoList'][0]['src']
|
|
||||||
else:
|
|
||||||
fileEntry = self._tempFileEntries.add(
|
|
||||||
content['videoList'][0]['src'])
|
|
||||||
if not fileEntry.ok:
|
|
||||||
return None
|
|
||||||
if self._setting._sendFileURLScheme:
|
|
||||||
di['video'] = fileEntry._localURI
|
|
||||||
else:
|
else:
|
||||||
fileEntry.open()
|
di['text'] = text.tostr()
|
||||||
di2['video'] = (fileEntry._fullfn, fileEntry._f)
|
di['parse_mode'] = 'HTML'
|
||||||
if 'poster' in content['videoList'][0] and content['videoList'][0]['poster'] is not None and content['videoList'][0]['poster'] != '':
|
for i in range(self._setting._maxRetryCount + 1):
|
||||||
if not self._setting._downloadMediaFile:
|
if f:
|
||||||
di['thumb'] = content['videoList'][0]['poster']
|
if self._setting._downloadMediaFile and not self._setting._sendFileURLScheme:
|
||||||
else:
|
di2 = {}
|
||||||
fileEntry = self._tempFileEntries.add(
|
if not self._setting._downloadMediaFile:
|
||||||
content['videoList'][0]['poster'])
|
di['video'] = content['videoList'][0]['src']
|
||||||
if not fileEntry.ok:
|
else:
|
||||||
return False
|
fileEntry = self._tempFileEntries.add(
|
||||||
if self._setting._sendFileURLScheme:
|
content['videoList'][0]['src'])
|
||||||
di['thumb'] = fileEntry._localURI
|
if not fileEntry.ok:
|
||||||
|
continue
|
||||||
|
if self._setting._sendFileURLScheme:
|
||||||
|
di['video'] = fileEntry._localURI
|
||||||
|
else:
|
||||||
|
fileEntry.open()
|
||||||
|
di2['video'] = (
|
||||||
|
fileEntry._fullfn, fileEntry._f)
|
||||||
|
if 'poster' in content['videoList'][0] and content['videoList'][0]['poster'] is not None and content['videoList'][0]['poster'] != '':
|
||||||
|
if not self._setting._downloadMediaFile:
|
||||||
|
di['thumb'] = content['videoList'][0]['poster']
|
||||||
|
else:
|
||||||
|
fileEntry = self._tempFileEntries.add(
|
||||||
|
content['videoList'][0]['poster'])
|
||||||
|
if not fileEntry.ok:
|
||||||
|
continue
|
||||||
|
if self._setting._sendFileURLScheme:
|
||||||
|
di['thumb'] = fileEntry._localURI
|
||||||
|
else:
|
||||||
|
fileEntry.open()
|
||||||
|
di2['thumb'] = (
|
||||||
|
fileEntry._fullfn, fileEntry._f)
|
||||||
|
di['supports_streaming'] = True
|
||||||
|
isOk = True
|
||||||
|
if self._rssbotLib is not None:
|
||||||
|
loc = self._tempFileEntries.get(content['videoList'][0]['src'])._abspath if self._setting._downloadMediaFile and self._tempFileEntries.get(
|
||||||
|
content['videoList'][0]['src']) is not None else None
|
||||||
|
addre = self._rssbotLib.addVideoInfo(
|
||||||
|
content['videoList'][0]['src'], di, loc)
|
||||||
|
if addre == AddVideoInfoResult.IsHLS:
|
||||||
|
isOk = False
|
||||||
|
f = False
|
||||||
|
if 'video' in di:
|
||||||
|
del di['video']
|
||||||
|
if 'thumb' in di:
|
||||||
|
del di['thumb']
|
||||||
|
del di['supports_streaming']
|
||||||
|
di['text'] = di['caption']
|
||||||
|
del di['caption']
|
||||||
|
if config.disable_web_page_preview:
|
||||||
|
di['disable_web_page_preview'] = True
|
||||||
|
re = self._request(
|
||||||
|
'sendMessage', 'post', json=di)
|
||||||
|
if isOk:
|
||||||
|
if not self._setting._downloadMediaFile or self._setting._sendFileURLScheme:
|
||||||
|
re = self._request(
|
||||||
|
'sendVideo', 'post', json=di)
|
||||||
|
else:
|
||||||
|
re = self._request(
|
||||||
|
'sendVideo', 'post', json=di, files=di2)
|
||||||
else:
|
else:
|
||||||
fileEntry.open()
|
re = self._request('sendMessage', 'post', json=di)
|
||||||
di2['thumb'] = (fileEntry._fullfn, fileEntry._f)
|
if re is not None and 'ok' in re and re['ok']:
|
||||||
di['supports_streaming'] = True
|
di['reply_to_message_id'] = re['result']['message_id']
|
||||||
isOk = True
|
if f:
|
||||||
if self._rssbotLib is not None:
|
if 'video' in di:
|
||||||
loc = self._tempFileEntries.get(content['videoList'][0]['src'])._abspath if self._setting._downloadMediaFile and self._tempFileEntries.get(
|
del di['video']
|
||||||
content['videoList'][0]['src']) is not None else None
|
if 'thumb' in di:
|
||||||
addre = self._rssbotLib.addVideoInfo(
|
del di['thumb']
|
||||||
content['videoList'][0]['src'], di, loc)
|
if 'caption' in di:
|
||||||
if addre == AddVideoInfoResult.IsHLS:
|
del di['caption']
|
||||||
isOk = False
|
del di['supports_streaming']
|
||||||
del di['video']
|
if 'duration' in di:
|
||||||
del di['thumb']
|
del di['duration']
|
||||||
del di['supports_streaming']
|
if 'width' in di:
|
||||||
di['text'] = di['caption']
|
del di['width']
|
||||||
del di['caption']
|
if 'height' in di:
|
||||||
if config.disable_web_page_preview:
|
del di['height']
|
||||||
di['disable_web_page_preview'] = True
|
if config.disable_web_page_preview:
|
||||||
re = self._request('sendMessage', 'post', json=di)
|
di['disable_web_page_preview'] = True
|
||||||
if isOk:
|
f = False
|
||||||
if not self._setting._downloadMediaFile or self._setting._sendFileURLScheme:
|
break
|
||||||
re = self._request('sendVideo', 'post', json=di)
|
if i == self._setting._maxRetryCount:
|
||||||
else:
|
if returnError and re is not None and 'description' in re:
|
||||||
re = self._request('sendVideo', 'post', json=di, files=di2)
|
return False, re['description']
|
||||||
|
elif returnError:
|
||||||
|
return False, ''
|
||||||
|
else:
|
||||||
|
return False
|
||||||
else:
|
else:
|
||||||
ind = 0
|
ind = 0
|
||||||
if self._setting._downloadMediaFile and not self._setting._sendFileURLScheme:
|
if self._setting._downloadMediaFile and not self._setting._sendFileURLScheme:
|
||||||
|
|||||||
Reference in New Issue
Block a user