Discord.jl
Discord.jl is the solution for creating Discord bots with the Julia programming language.
Why Julia/Discord.jl?
- Strong, expressive type system: No fast-and-loose JSON objects here.
- Non-blocking: API calls return immediately and can be awaited when necessary.
- Simple: Multiple dispatch allows for a small, elegant core API.
- Fast: Julia is fast like C but still easy like Python.
- Robust: Resistant to bad event handlers and/or requests. Errors are introspectible for debugging.
- Lightweight: Cache what is important but shed dead weight with TTL.
- Gateway independent: Ability to interact with Discord's API without establishing a gateway connection.
- Distributed: Process-based sharding requires next to no intervention and you can even run shards on separate machines.
For usage examples, see the examples/ directory.
Index
Discord.DEFAULT_HANDLER_TAGDiscord.AbstractEventDiscord.AbstractGuildDiscord.ActionTypeDiscord.ActivityDiscord.ActivityAssetsDiscord.ActivityFlagsDiscord.ActivityPartyDiscord.ActivitySecretsDiscord.ActivityTimestampsDiscord.ActivityTypeDiscord.AttachmentDiscord.AuditLogDiscord.AuditLogChangeDiscord.AuditLogEntryDiscord.AuditLogOptionsDiscord.BanDiscord.CacheFilterDiscord.CacheForeverDiscord.CacheLRUDiscord.CacheNeverDiscord.CacheStrategyDiscord.CacheTTLDiscord.ChannelCreateDiscord.ChannelDeleteDiscord.ChannelPinsUpdateDiscord.ChannelTypeDiscord.ChannelUpdateDiscord.ClientDiscord.ConnectionDiscord.DiscordChannelDiscord.EmbedDiscord.EmbedAuthorDiscord.EmbedFieldDiscord.EmbedFooterDiscord.EmbedImageDiscord.EmbedProviderDiscord.EmbedThumbnailDiscord.EmbedVideoDiscord.EmojiDiscord.ExplicitContentFilterLevelDiscord.FallbackEventDiscord.GuildDiscord.GuildBanAddDiscord.GuildBanRemoveDiscord.GuildCreateDiscord.GuildDeleteDiscord.GuildEmbedDiscord.GuildEmojisUpdateDiscord.GuildIntegrationsUpdateDiscord.GuildMemberAddDiscord.GuildMemberRemoveDiscord.GuildMemberUpdateDiscord.GuildMembersChunkDiscord.GuildRoleCreateDiscord.GuildRoleDeleteDiscord.GuildRoleUpdateDiscord.GuildUpdateDiscord.IntegrationDiscord.IntegrationAccountDiscord.InviteDiscord.InviteMetadataDiscord.MFALevelDiscord.MemberDiscord.MessageDiscord.MessageActivityDiscord.MessageActivityTypeDiscord.MessageApplicationDiscord.MessageCreateDiscord.MessageDeleteDiscord.MessageDeleteBulkDiscord.MessageNotificationLevelDiscord.MessageReactionAddDiscord.MessageReactionRemoveDiscord.MessageReactionRemoveAllDiscord.MessageTypeDiscord.MessageUpdateDiscord.OverwriteDiscord.OverwriteTypeDiscord.PermissionDiscord.PresenceDiscord.PresenceStatusDiscord.PresenceUpdateDiscord.ReactionDiscord.ReadyDiscord.ResponseDiscord.ResumedDiscord.RoleDiscord.SplatDiscord.TypingStartDiscord.UnavailableGuildDiscord.UnknownEventDiscord.UserDiscord.UserUpdateDiscord.VerificationLevelDiscord.VoiceRegionDiscord.VoiceServerUpdateDiscord.VoiceStateDiscord.VoiceStateUpdateDiscord.WebhookDiscord.WebhooksUpdateBase.closeBase.isopenBase.openBase.waitDiscord.add_command!Discord.add_guild_memberDiscord.add_guild_member_roleDiscord.add_handler!Discord.add_help!Discord.add_pinned_channel_messageDiscord.begin_guild_pruneDiscord.bulk_delete_messagesDiscord.createDiscord.create_channel_inviteDiscord.create_dmDiscord.create_guildDiscord.create_guild_banDiscord.create_guild_channelDiscord.create_guild_emojiDiscord.create_guild_integrationDiscord.create_guild_roleDiscord.create_messageDiscord.create_reactionDiscord.create_webhookDiscord.deleteDiscord.delete_all_reactionsDiscord.delete_channelDiscord.delete_channel_permissionDiscord.delete_command!Discord.delete_guildDiscord.delete_guild_emojiDiscord.delete_guild_integrationDiscord.delete_guild_roleDiscord.delete_handler!Discord.delete_inviteDiscord.delete_messageDiscord.delete_own_reactionDiscord.delete_pinned_channel_messageDiscord.delete_user_reactionDiscord.delete_webhookDiscord.delete_webhook_with_tokenDiscord.disable_cache!Discord.edit_channel_permissionsDiscord.edit_messageDiscord.enable_cache!Discord.execute_github_compatible_webhookDiscord.execute_slack_compatible_webhookDiscord.execute_webhookDiscord.fetchvalDiscord.get_channelDiscord.get_channel_invitesDiscord.get_channel_messageDiscord.get_channel_messagesDiscord.get_channel_webhooksDiscord.get_current_userDiscord.get_current_user_guildsDiscord.get_guildDiscord.get_guild_audit_logDiscord.get_guild_banDiscord.get_guild_bansDiscord.get_guild_channelsDiscord.get_guild_embedDiscord.get_guild_emojiDiscord.get_guild_integrationsDiscord.get_guild_invitesDiscord.get_guild_memberDiscord.get_guild_prune_countDiscord.get_guild_rolesDiscord.get_guild_voice_regionsDiscord.get_guild_webhooksDiscord.get_guild_widget_imageDiscord.get_inviteDiscord.get_pinned_messagesDiscord.get_reactionsDiscord.get_userDiscord.get_vanity_urlDiscord.get_webhookDiscord.get_webhook_with_tokenDiscord.has_permissionDiscord.heartbeat_pingDiscord.leave_guildDiscord.list_guild_emojisDiscord.list_guild_membersDiscord.list_voice_regionsDiscord.meDiscord.modify_channelDiscord.modify_current_userDiscord.modify_current_user_nickDiscord.modify_guildDiscord.modify_guild_channel_positionsDiscord.modify_guild_embedDiscord.modify_guild_emojiDiscord.modify_guild_integrationDiscord.modify_guild_memberDiscord.modify_guild_roleDiscord.modify_guild_role_positionsDiscord.modify_webhookDiscord.modify_webhook_with_tokenDiscord.permissions_inDiscord.plaintextDiscord.remove_guild_banDiscord.remove_guild_memberDiscord.remove_guild_member_roleDiscord.replyDiscord.request_guild_membersDiscord.retrieveDiscord.set_gameDiscord.set_prefix!Discord.split_messageDiscord.sync_guild_integrationDiscord.trigger_typing_indicatorDiscord.updateDiscord.update_statusDiscord.update_voice_stateDiscord.upload_fileDiscord.@commandDiscord.@deferred_fetchDiscord.@deferred_fetchvalDiscord.@fetchDiscord.@fetchval