discrod
discrod
discrod is an experimental Discord library for Crystal. I am writing this to serve as a replacement for one of my bot projects' current implementation in C#.
If you are looking for a production-ready Discord library, check out discordcr. This library is not ready for full use.
Installation
Add this to your application's shard.yml
:
dependencies:
discrod:
github: voximity/discrod
Usage
require "discrod"
client = Discrod::Client.new token: "my-token", token_type: Discrod::TokenType::Bot
client.on_message_create do |message|
if message.content == "ping"
builder = Discrod::EmbedBuilder.new do |e|
e.with_title "Pong!"
e.with_description "discrod speaking!"
e.with_current_time
e.with_author(message.author)
end
message.react Discrod::Emoji.new "🎊"
message.channel.create_message embed: builder.build
end
end
client.connect
All endpoints are available in Client
as low-level API calls with very little abstraction between. For higher-level API calls, each resource has their appropriate methods to help mitigate Client
usage. For example, Message#delete
is synonymous with Client#delete_message(channel_id, message_id)
.
Caches
By default, resource caching is enabled. You can assign a cache to periodically wipe:
client.guild_cache!.clear_periodic 1.hours
Contributing
- Fork it (https://github.com/voximity/discrod/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
discrod
- 0
- 0
- 0
- 0
- 1
- over 4 years ago
- May 3, 2020
MIT License
Thu, 21 Nov 2024 23:08:04 GMT