def poster(bot, message):
"""#poster [-h] [-f]
-h : ?????
-f : ????
"""
try:
cmd, *args = shlex.split(message.text)
except ValueError:
return False
if not cmd[0] in config['trigger']:
return False
if not cmd[1:] == 'poster':
return False
try:
options, args = getopt.gnu_getopt(args, 'hf')
except getopt.GetoptError:
# ????
reply(bot, message, poster.__doc__)
return True
refresh = False
# ???
for o, a in options:
if o == '-h':
# ??
reply(bot, message, poster.__doc__)
return True
elif o == '-f':
refresh = True
weekday = datetime.now().weekday()
if weekday >= 3:
delta = timedelta(days=weekday-3)
else:
delta = timedelta(days=7+weekday-3)
thu_date = datetime.now().date() - delta
url = '{}event{}.jpg'.format(BASE_URL, thu_date.strftime('%Y%m%d'))
filename = os.path.basename(url)
dir = os.path.join(config['cq_root_dir'], config['cq_image_dir'], 'poster')
path = os.path.join(dir, filename)
if not os.path.exists(dir):
os.mkdir(dir)
if not os.path.exists(path) or refresh:
resp = requests.get(url, timeout=60, proxies=config.get('proxies'))
if not resp.status_code == 200:
reply(bot, message, '?????...????????????')
return True
with open(path, 'wb') as f:
f.write(resp.content)
reply(bot, message, CQImage(os.path.join('poster', filename)))
return True
评论列表
文章目录