Skip to content

Bot Commands ​

After linking your GitHub account, you can act on GitHub as yourself from both Discord and Telegram — comments are posted with your own OAuth token and GitHub enforces permission. If GitHub rejects an action (e.g. editing someone else's comment) the bot tells you so.

Linking Your Account ​

You must link your GitHub account once before using any command:

PlatformCommandEffect
Discord/gh loginReturns an ephemeral OAuth link to authorize your GitHub account
Discord/gh logoutUnlinks your GitHub account
Telegram/gh login (reply to a message)Returns an OAuth link
Telegram/gh logout (reply to a message)Unlinks your GitHub account

The link is stored server-side (KV) and mapped to your Discord/Telegram user id in D1.

Discord ​

Discord commands are slash commands and message context-menu commands, synced by the scheduled trigger (every 5 minutes): per-guild for instant availability, and globally (24h dedup, ~1h propagation). All replies are ephemeral (only you see them).

Comment on an issue / PR ​

Two equivalent ways:

  • Right-click a notification (recommended): right-click a bot-issued issue / PR / comment notification → Apps → GitHub: 添加评论 / 编辑评论 / 删除评论. The target is auto-extracted from the notification embed; no link needed.

  • Slash command with a link:

    /gh comment add  link:<issue or PR url>          e.g. https://github.com/owner/repo/issues/123
    /gh comment edit link:<comment url>              url must contain #issuecomment-<id>
    /gh comment del  link:<comment url>              url must contain #issuecomment-<id>

    For edit / del, copy the specific comment link on GitHub (comment ⋯ menu → Copy link). add / edit open a modal to enter/adjust the comment body (prefilled for edit).

Merge / close a PR ​

Notifications for open PRs include Merge / Close buttons (labels follow the group's message language):

  • Clicking a button merges (squash) or closes the PR as your linked GitHub account; GitHub enforces permission.
  • On success the buttons are removed from the notification and the result is shown in an ephemeral reply.

Requirements ​

ItemHow
Public keyDISCORD_PUBLIC_KEY set + Interactions Endpoint URL configured
Invite scopeBot invited with applications.commands (see Discord Bot Setup)
OAuthGITHUB_CLIENT_ID / GITHUB_CLIENT_SECRET and BASE_URL configured
User linkedEach user runs /gh login first

Telegram ​

Telegram /gh commands work by replying to a notification message:

  • /gh login — link your GitHub account (returns an OAuth link)
  • /gh logout — unlink
  • /gh comment <text> — reply to an issue/PR notification to comment as yourself
  • /gh merge / /gh close — reply to a PR notification to merge/close it

The target issue/PR is parsed from the message you reply to (the notification embed links). Commands arrive via the Telegram webhook (POST /telegram/webhook, optionally verified with TELEGRAM_WEBHOOK_SECRET).

Released under the MIT License.