Skip to content

Artemis Discord Bot

Artemis is a powerful Effect based discord bot that is designed to interact with your Discord community and your Github Organization. Built for StudioCMS, open sourced for anyone to tweak to their hearts content.

See this bot in action on the StudioCMS Discord Server^.

  • Effect-TS
  • Effect dfx
  • Drizzle ORM
  • libSQL
  • GroqAI API
  • GitHub API
  • Algolia
  • Auto-threader bot
  • BlueSky discord repeater
  • Contribute Embed
  • Crowdin PTAL from repo dispatch
  • Docs Search with Algolia
  • Custom Event bus (primarily for HTTP -> discord communication)
  • GitHub issue from message app interaction
  • GitHub issue from thread command
  • No-Embed bot (stop people’s messages from having embeds)
  • PTAL Service
  • Stars Graph
  • HTTP webserver for assets and webhook handling
  • @ ping replies with AI interactions

Automatically create threads from every message in a channel

To enable auto-threading in a channel, an administrator must add [threads] to the channel topic.

Prevents embeds from appearing in messages in a channel.

To enable no-embed in a channel, an administrator must add [noembed] to the channel topic.

Automatically dispatch PTAL notifications when a Crowdin pull request is created.

To enable Crowdin PTAL dispatch in a channel, an administrator must set up a repository dispatch event in their GitHub repository with the action type crowdin.create and the appropriate payload. Also requires the PTAL service to be configured in the server.

  • Minimum Permission: Administrator

Manage BlueSky account tracking and settings for this server.

  • Minimum Permission: Administrator

Lists all BlueSky accounts currently being tracked in this server.

subscribe <account> <top_level> <replies> <reposts>

Section titled “subscribe <account> <top_level> <replies> <reposts>”
  • Minimum Permission: Administrator

Subscribes the current channel to updates from the specified BlueSky account. The parameters top_level, replies, and reposts are booleans indicating whether to track those types of posts.

  • Minimum Permission: Administrator

Unsubscribes the current channel from updates from the specified BlueSky account.

  • Minimum Permission: Administrator

View or modify BlueSky tracking settings for this server.

  • Minimum Permission: Administrator

Sets the channel where BlueSky updates will be posted.

  • Minimum Permission: Administrator

Sets the role to ping for BlueSky updates and whether to enable or disable the ping.

  • Minimum Permission: Administrator

Views the current BlueSky tracking settings for this server.

  • Minimum Permission: N/A

Creates a contributing guide embed for the current channel.

  • Minimum Permission: Administrator

Set up a Crowdin embed in the current channel for a specified repository.

  • Minimum Permission: Administrator

Set up a new Crowdin embed listener in the current channel for the specified GitHub repository.

  • Minimum Permission: Administrator

Remove the Crowdin embed from the current channel for the specified GitHub repository.

  • Minimum Permission: Administrator

List all Crowdin embeds in the current channel.

  • Minimum Permission: N/A

Search the docs for a specific query using the Algolia Docsearch API.

issue-from-thread <repository> <type> [title]

Section titled “issue-from-thread <repository> <type> [title]”
  • Minimum Permission: N/A

Create a GitHub issue from the current thread in the specified repository. The type parameter indicates the type of issue, and an optional title can be provided.

  • Minimum Permission: Administrator

Manage issue command settings for this server.

  • Minimum Permission: Administrator

Add a repository to the issue command allow list.

  • Minimum Permission: Administrator

Removes a repository from the issue command allow list.

  • Minimum Permission: Administrator

List all repositories in the issue command allow list.

  • Minimum Permission: N/A

Sends a PTAL (Please Take A Look) notification for a pull request with the provided GitHub URL and description.

  • Minimum Permission: Administrator

Configure the PTAL service for this server.

  • Minimum Permission: Administrator

Set the role to ping for PTAL notifications.

  • Minimum Permission: Administrator

View the current PTAL settings for this server.

  • Minimum Permission: N/A

Generate a star history graph for a GitHub repository. The repository should be in the format owner/repo (e.g., facebook/react). The optional public parameter indicates whether the generated graph should be publicly accessible.