yobot_remix icon indicating copy to clipboard operation
yobot_remix copied to clipboard

历史版本问题

Open CatSodaaa opened this issue 1 year ago • 1 comments

大佬请问下还有纯文字流版本的存档吗,图片有些时候发不出去。

CatSodaaa avatar Oct 28 '23 11:10 CatSodaaa

#总出刀信息
def challenger_info(self, group_id):
	"""
	Args:
		group: 公会信息对象
	"""
	group:Clan_group = get_clan_group(self, group_id)
	if group is None : raise GroupNotExist
	date, _ = pcr_datetime(area = group.game_server)
	challenges:List[Clan_challenge] = Clan_challenge.select().where(
		Clan_challenge.gid == group_id,
		Clan_challenge.bid == group.battle_id,
		Clan_challenge.challenge_pcrdate == date,
	).order_by(Clan_challenge.cid)
	end_blade_qqid = {}         #保存有尾刀未出的人的qq
	for c in challenges:
		#如果出完这刀时boss的血量为0,且不是收尾刀
		if c.boss_health_remain == 0 and not c.is_continue:
			if c.qqid not in end_blade_qqid:
				end_blade_qqid[c.qqid] = 1
			else:
				end_blade_qqid[c.qqid] += 1
		if c.is_continue and c.qqid in end_blade_qqid:
			end_blade_qqid[c.qqid] -= 1
			if end_blade_qqid[c.qqid] == 0: del end_blade_qqid[c.qqid]

	line = 0
	finished = sum(bool(c.boss_health_remain or c.is_continue) for c in challenges)
	msg = [f'今天公会已出{finished}刀完整刀']
	if len(end_blade_qqid) > 0 :
		temp_msg = ''
		for qqid, num in end_blade_qqid.items() :
			if num > 0: temp_msg += f'{self._get_nickname_by_qqid(qqid)}*{num},'
		temp_msg += f'还有补偿刀未出'
		msg.append(temp_msg)

	msg.append('====================')
	for boss_num in range(5):
		self.challenger_info_small(group, str(boss_num+1), msg)
		msg.append('====================')
	for once in range(len(msg)):
		str_list = list(msg[once])
		for i in range(math.floor(len(msg[once])/21)):
			str_list.insert((i+1)*20, '\n')
			line += 1
		msg[once] = ''.join(str_list)
	# back_msg = text_2_pic(self, '\n'.join(msg), 250, (len(msg)+line)*20 + 10, (255, 255, 255), "#000000", 15, (10, 5))

	return '\n'.join(msg)

可以用这个替换掉同名函数

eggggi avatar Apr 18 '24 07:04 eggggi

现在qq用了某种框架之后图片能稳定输出了 但还是感谢您的回答! 这边close了

CatSodaaa avatar Jun 08 '24 08:06 CatSodaaa