Skip to content

Commit cbe1c1e

Browse files
committed
fix: fix bug of getting broadcast tag
1 parent ca76075 commit cbe1c1e

1 file changed

Lines changed: 14 additions & 10 deletions

File tree

kokkoro/service.py

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,7 @@ def _load_service_config(service_name):
3434

3535
def _save_service_config(service):
3636
config_file = os.path.join(_service_config_dir, f'{service.name}.json')
37-
with open(config_file, 'w', encoding='utf8') as f:
38-
json.dump(
39-
{
37+
body = {
4038
"name": service.name,
4139
"use_priv": service.use_priv,
4240
"manage_priv": service.manage_priv,
@@ -45,8 +43,13 @@ def _save_service_config(service):
4543
"visible": service.visible,
4644
"enable_group": list(service.enable_group),
4745
"disable_group": list(service.disable_group),
48-
"group_bc_tag": service.group_bc_tag,
49-
},
46+
}
47+
if isinstance(service, BroadcastService):
48+
body["group_bc_tag"] = service.group_bc_tag
49+
50+
with open(config_file, 'w', encoding='utf8') as f:
51+
json.dump(
52+
body,
5053
f,
5154
ensure_ascii=False,
5255
indent=2)
@@ -278,7 +281,7 @@ class BroadcastService(Service):
278281
def __init__(self, *args, **kwargs):
279282
super().__init__(*args, **kwargs)
280283
config = self._loaded_config
281-
self.group_bc_tag = config.get('group_bc_tag') or defaultdict(lambda: self.broadcast_tag)
284+
self.group_bc_tag = config.get('group_bc_tag', {})
282285
#service_names = (self.name,)
283286

284287
set_prefix = f'{self.name} set-bc-tag' #join_iterable(service_names, ('bc-tag',), sep=' ')
@@ -297,9 +300,11 @@ async def set_bc_tag(bot, ev):
297300
return
298301
new_tags = new_tags.split(' ')
299302
self.set_broadcast_tag(gid, new_tags)
303+
300304
await bot.kkr_send(ev, f'服务 <{self.name}> 的推送频道的标签成功更新为 {new_tags}')
301305

302306
async def get_bc_tag(bot, ev):
307+
gid = ev.get_group_id()
303308
await bot.kkr_send(ev, f'服务 <{self.name}> 的推送频道的标签为 {self.group_bc_tag.get(gid, self.broadcast_tag)}')
304309

305310
self.on_prefix(set_prefix)(set_bc_tag)
@@ -314,15 +319,14 @@ def set_broadcast_tag(self, gid, new_tags):
314319
self.group_bc_tag[gid] = new_tags
315320

316321
_save_service_config(self)
317-
self.logger.info(f'Service {self.name}\'s broadcast tag is modified as {new_tags}')
322+
self.logger.info(f'Service {self.name}\'s broadcast tag of group {gid} is modified as {new_tags}')
318323

319-
async def broadcast(self, msg: SupportedMessageType, tag: List[str]=None):
324+
async def broadcast(self, msg: SupportedMessageType):
320325
bot = self.bot
321326
glist = self.get_enable_groups()
322327

323328
for gid in glist:
324-
if tag == None:
325-
tag = self.group_bc_tag.get(gid, self.broadcast_tag)
329+
tag = self.group_bc_tag.get(gid, self.broadcast_tag)
326330

327331
try:
328332
for t in tag:

0 commit comments

Comments
 (0)