opencode-discord 1.1.0 → 1.2.0

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.
Files changed (2) hide show
  1. package/index.ts +26 -3
  2. package/package.json +1 -1
package/index.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import type { Plugin } from "@opencode-ai/plugin"
2
2
  import { Client } from "@theuntraceable/discord-rpc"
3
3
 
4
- const CLIENT_ID = process.env.DISCORD_CLIENT_ID ?? "YOUR_DISCORD_APP_ID"
4
+ const CLIENT_ID = process.env.DISCORD_CLIENT_ID ?? "1369345745815339008"
5
5
 
6
6
  export const DiscordStatus: Plugin = async ({ project }) => {
7
7
  const client = new Client({ clientId: CLIENT_ID })
@@ -11,7 +11,10 @@ export const DiscordStatus: Plugin = async ({ project }) => {
11
11
  let startTimestamp = Date.now()
12
12
  let lastEditedFile: string | undefined
13
13
 
14
+ console.log(`[opencode-discord] init clientId=${CLIENT_ID} project=${currentProject}`)
15
+
14
16
  async function updatePresence() {
17
+ console.log(`[opencode-discord] updatePresence connected=${connected} session=${sessionActive}`)
15
18
  if (!connected) return
16
19
 
17
20
  const details = sessionActive
@@ -36,21 +39,41 @@ export const DiscordStatus: Plugin = async ({ project }) => {
36
39
  smallImageKey: sessionActive ? "ai" : "idle",
37
40
  smallImageText: sessionActive ? "AI Active" : "Idle",
38
41
  })
39
- } catch {}
42
+ console.log(`[opencode-discord] presence set: ${details} / ${state}`)
43
+ } catch (e) {
44
+ console.error(`[opencode-discord] presence failed:`, e)
45
+ }
40
46
  }
41
47
 
42
48
  client.on("ready", () => {
43
49
  connected = true
44
50
  startTimestamp = Date.now()
51
+ console.log(`[opencode-discord] discord connected as ${client.user?.username}`)
45
52
  updatePresence()
46
53
  })
47
54
 
48
- client.login().catch(() => {
55
+ client.on("error", (err: any) => {
56
+ console.error(`[opencode-discord] discord error:`, err)
57
+ })
58
+
59
+ client.on("disconnected", () => {
49
60
  connected = false
61
+ console.log(`[opencode-discord] discord disconnected`)
50
62
  })
51
63
 
64
+ try {
65
+ console.log(`[opencode-discord] logging in...`)
66
+ await client.login()
67
+ console.log(`[opencode-discord] login ok`)
68
+ } catch (e) {
69
+ connected = false
70
+ console.error(`[opencode-discord] login failed:`, e)
71
+ }
72
+
52
73
  return {
53
74
  event: async ({ event }) => {
75
+ console.log(`[opencode-discord] event: ${event.type}`)
76
+
54
77
  switch (event.type) {
55
78
  case "session.created":
56
79
  sessionActive = true
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-discord",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "Discord Rich Presence plugin for OpenCode — shows your AI coding activity in Discord",
5
5
  "type": "module",
6
6
  "main": "index.ts",