nostrum

Elixir Discord Library

Github stars Tracking Chart

Nostrum

Build Status
Join Discord

An Elixir library for the Discord API.

It is highly recommended to check out the
documentation first. It includes all of the
information listed here and more.

Installation

Add Nostrum as a dependency:

Stable

Stable documentation can be found here

def deps do
  [{:nostrum, "~> 0.4"}]
end

Dev

def deps do
  [{:nostrum, git: "https://github.com/Kraigie/nostrum.git"}]
end

Edit or create your config file:

The file should be located at /config/config.exs. To run Nostrum you need the
following two fields:

config :nostrum,
  token: "666", # The token of your bot as a string
  num_shards: 2 # The number of shards you want to run your bot under, or :auto.

For more information about the differences between dev and stable as well as
additional config parameters, please see the
documentation.

Example Usage

The below module needs to be started in some fashion to capture events. See
here
for a full example.

defmodule ExampleConsumer do
  use Nostrum.Consumer

  alias Nostrum.Api

  def start_link do
    Consumer.start_link(__MODULE__)
  end

  def handle_event({:MESSAGE_CREATE, msg, _ws_state}) do
    case msg.content do
      "ping!" ->
        Api.create_message(msg.channel_id, "I copy and pasted this code")
      _ ->
        :ignore
    end
  end

  # Default event handler, if you don't include this, your consumer WILL crash if
  # you don't have a method definition for each event type.
  def handle_event(_event) do
    :noop
  end
end

Although it's recommended to run under a supervisor, you could start it from iex.

  iex()> ExampleConsumer.start
  {:ok, #PID<0.208.0>}

Getting Help

If you need help, visit #elixir_nostrum on the unofficial Discord API guild!

Discord API

License

MIT

Main metrics

Overview
Name With OwnerKraigie/nostrum
Primary LanguageElixir
Program languageElixir (Language Count: 2)
Platform
License:MIT License
所有者活动
Created At2016-08-26 21:18:34
Pushed At2025-05-23 19:16:40
Last Commit At2025-05-23 21:14:49
Release Count31
Last Release Namev0.10.4 (Posted on 2025-03-02 21:40:50)
First Release Name0.2.0 (Posted on )
用户参与
Stargazers Count668
Watchers Count13
Fork Count130
Commits Count1.8k
Has Issues Enabled
Issues Count181
Issue Open Count22
Pull Requests Count434
Pull Requests Open Count4
Pull Requests Close Count68
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private