koishi-plugin-githubsth 1.0.1-test4 → 1.0.1-test6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js CHANGED
@@ -53,21 +53,31 @@ exports.inject = {
53
53
  };
54
54
  __exportStar(require("./config"), exports);
55
55
  function apply(ctx, config) {
56
- console.log('[GithubSth] Plugin loading...');
56
+ const logger = ctx.logger('githubsth');
57
+ logger.info('Plugin loading...');
57
58
  // 本地化
58
59
  ctx.i18n.define('zh-CN', zh_CN_1.default);
59
60
  // 数据库
60
61
  ctx.plugin(database);
61
62
  // 注册服务
63
+ logger.info('Registering Formatter...');
62
64
  ctx.plugin(formatter_1.Formatter);
65
+ logger.info('Registering Notifier...');
63
66
  ctx.plugin(notifier_1.Notifier, config);
67
+ // Debug listener for raw events
68
+ ctx.on('github/issues', (payload) => {
69
+ logger.info('[DEBUG] Global listener caught github/issues');
70
+ });
71
+ ctx.on('github/opened', (payload) => {
72
+ logger.info('[DEBUG] Global listener caught github/opened');
73
+ });
64
74
  // 注册命令
65
75
  // admin and subscribe are already loaded in commands/index.ts, remove duplicate loading here
66
76
  try {
67
77
  ctx.plugin(commands, config);
68
- console.log('[GithubSth] Plugin loaded successfully');
78
+ logger.info('Plugin loaded successfully');
69
79
  }
70
80
  catch (e) {
71
- console.error('[GithubSth] Plugin failed to load:', e);
81
+ logger.error('Plugin failed to load:', e);
72
82
  }
73
83
  }
@@ -5,6 +5,7 @@ const koishi_1 = require("koishi");
5
5
  class Formatter extends koishi_1.Service {
6
6
  constructor(ctx) {
7
7
  super(ctx, 'githubsthFormatter');
8
+ ctx.logger('githubsth').info('Formatter service initialized');
8
9
  }
9
10
  formatPush(payload) {
10
11
  const { repository, pusher, commits, compare } = payload;
@@ -7,23 +7,28 @@ class Notifier extends koishi_1.Service {
7
7
  constructor(ctx, config) {
8
8
  super(ctx, 'githubsthNotifier', true);
9
9
  this.config = config;
10
+ this.ctx.logger('githubsth').info('Notifier service initialized');
10
11
  this.registerListeners();
11
12
  }
12
13
  registerListeners() {
13
14
  this.ctx.on('github/push', (payload) => this.handleEvent('push', payload));
14
15
  this.ctx.on('github/issues', (payload) => this.handleEvent('issues', payload));
15
16
  this.ctx.on('github/pull_request', (payload) => this.handleEvent('pull_request', payload));
17
+ this.ctx.on('github/pull-request', (payload) => this.handleEvent('pull_request', payload));
16
18
  this.ctx.on('github/star', (payload) => this.handleEvent('star', payload));
17
19
  this.ctx.on('github/fork', (payload) => this.handleEvent('fork', payload));
18
20
  this.ctx.on('github/release', (payload) => this.handleEvent('release', payload));
19
21
  this.ctx.on('github/discussion', (payload) => this.handleEvent('discussion', payload));
20
22
  this.ctx.on('github/workflow_run', (payload) => this.handleEvent('workflow_run', payload));
23
+ this.ctx.on('github/workflow-run', (payload) => this.handleEvent('workflow_run', payload));
21
24
  this.ctx.on('github/issue_comment', (payload) => this.handleEvent('issue_comment', payload));
25
+ this.ctx.on('github/issue-comment', (payload) => this.handleEvent('issue_comment', payload));
22
26
  this.ctx.on('github/pull_request_review', (payload) => this.handleEvent('pull_request_review', payload));
27
+ this.ctx.on('github/pull-request-review', (payload) => this.handleEvent('pull_request_review', payload));
23
28
  }
24
29
  async handleEvent(event, payload) {
25
30
  // FORCE LOG for debugging
26
- console.log(`[GithubSth] Received event: ${event}`);
31
+ this.ctx.logger('githubsth').info(`Received event: ${event}`);
27
32
  let repoName = payload.repository?.full_name;
28
33
  // Try to fallback if repoName is missing
29
34
  if (!repoName && payload.issue?.repository_url) {
@@ -36,13 +41,13 @@ class Notifier extends koishi_1.Service {
36
41
  repoName = payload.pull_request.base.repo.full_name;
37
42
  }
38
43
  if (!repoName) {
39
- console.log(`[GithubSth] Missing repo info for event: ${event}`);
44
+ this.ctx.logger('githubsth').warn(`Missing repo info for event: ${event}`);
40
45
  if (this.config.debug) {
41
46
  this.ctx.logger('notifier').warn(`Event ${event} missing repository info. Keys: ${Object.keys(payload).join(', ')}`);
42
47
  }
43
48
  return;
44
49
  }
45
- console.log(`[GithubSth] Processing event ${event} for ${repoName}`);
50
+ this.ctx.logger('githubsth').info(`Processing event ${event} for ${repoName}`);
46
51
  if (this.config.debug) {
47
52
  this.ctx.logger('notifier').info(`Received event ${event} for ${repoName}`);
48
53
  this.ctx.logger('notifier').debug(JSON.stringify(payload, null, 2));
@@ -64,13 +69,13 @@ class Notifier extends koishi_1.Service {
64
69
  return true;
65
70
  });
66
71
  if (matchedRules.length === 0) {
67
- console.log(`[GithubSth] No matching rules for ${repoName}`);
72
+ this.ctx.logger('githubsth').info(`No matching rules for ${repoName}`);
68
73
  if (this.config.debug) {
69
74
  this.ctx.logger('notifier').debug(`No matching rules for ${repoName} (event: ${event})`);
70
75
  }
71
76
  return;
72
77
  }
73
- console.log(`[GithubSth] Found ${matchedRules.length} matching rules for ${repoName}`);
78
+ this.ctx.logger('githubsth').info(`Found ${matchedRules.length} matching rules for ${repoName}`);
74
79
  if (this.config.debug) {
75
80
  this.ctx.logger('notifier').debug(`Found ${matchedRules.length} matching rules for ${repoName}`);
76
81
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "koishi-plugin-githubsth",
3
- "version": "1.0.1-test4",
3
+ "version": "1.0.1-test6",
4
4
  "description": "Github Subscriptions Notifications, push notifications for GitHub subscriptions For koishi",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",