Skip to content

deanpcmad/discord_api

Repository files navigation

Discord API

This is a Ruby library for the Discord HTTP API. Currently in development

Installation

Add this line to your application's Gemfile:

gem "discord_api"

Usage

Authentication

Firstly you'll need to set either a user token or bot token. Some endpoints are only accssible with a bot token.

# Set a user token
@client = Discord::Client.new(user_access_token: "")

# Or set a bot token
@client = Discord::Client.new(bot_access_token: "")

Users

# Get the current user
# Required scope: identify
# Required scopes if you want the user's email: identify email
@client.users.me

# Get the user's guilds
# Required scope: guilds
@client.users.guilds

Channels

These endpoints are only accessible using a bot token.

# Retrieve a Channel
@client.channels.retrieve(id: 123123)

# Update a Channel's details
# https://discord.com/developers/docs/resources/channel#modify-channel
@client.channels.update(id: 123123, name: "new-channel-name")

Messages

These endpoints are only accessible using a bot token.

# List messages for a channel
@client.messages.list(channel_id: 123123)

# Get a message
@client.messages.retrieve(channel_id: 123123, message_id: 123123)

# Create a message
# https://discord.com/developers/docs/resources/channel#create-message
@client.messages.create(channel_id: 123123, content: "Hello World")

# Update a message
# https://discord.com/developers/docs/resources/channel#edit-message
@client.messages.update(channel_id: 123123, message_id: 123123, content: "Hello World")

# Delete a message
@client.messages.delete(channel_id: 123123, message_id: 123123)

# Bulk delete messages
@client.messages.bulk_delete(channel_id: 123123, ids: [123123, 321321])

Guilds/Servers

These endpoints are only accessible using a bot token.

# Retrieve a Guild's details
@client.guilds.retrieve(id: 123123)

# Update a Guild's details
# https://discord.com/developers/docs/resources/guild#modify-guild
@client.guilds.update(id: 123123, name: "new-guild-name")

# Retrieve a list of a Guild's channels
@client.guilds.channels(guild: 123123)

# Create a Guild channel
# https://discord.com/developers/docs/resources/guild#create-guild-channel
@client.guilds.create_channel(guild: 123123, name: "new-channel-name")

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/deanpcmad/discord_api.

License

The gem is available as open source under the terms of the MIT License.

About

Ruby library for the Discord HTTP API

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Contributors 2

  •  
  •