⏰ A powerful and simple-to-use guilded wrapper made in Kotlin.

Related tags

Kotlin guilded-kt
Overview

Guilded KT

GitHub Workflow Status GitHub issues GitHub Repo stars

guilded-kt [WIP]

A powerful yet simple-to-use guilded wrapper made entirely in Kotlin with supporting multiplatform. Take a look at an example of the Rest API:

suspend fun main() {
    val restClient = RestClient().authenticate {
        email = "email"
        password = "password"
    }
    val channelRoute = ChannelRoute(restClient)
    val message = channelRoute.sendMessage(channelId) {
        content {
            add text "Hello, World!"
            add image "image_url"
            add text "Goodbye, World!"
        }
    }
    println("Sent Message Id: ${message.id}")
}
You might also like...
Netflix inspired OTT Home Screen, Contains implementation in Reactjs, Kotlin React Wrapper, Jetpack Compose Web

Netflix-Clone-React Practising React by building Netflix Clone Requirements TMDB api key : Add TMDB API key to AppApi.kt Learning Resourcce Build Netf

A Kotlin coroutines wrapper for IndexedDB.

Kotlin IndexedDB A wrapper around IndexedDB which allows for access from Kotlin/JS code using suspend blocks and linear, non-callback based control fl

Yaspeller-kt - Asynchronous Yandex.Speller API wrapper for Kotlin/JVM.

yaspeller-kt Asynchronous Yandex.Speller API wrapper for Kotlin/JVM. Installation repositories { maven { url 'https://jitpack.io' }

SavedStateFlow - A Kotlin StateFlow wrapper around SavedStateHandle
SavedStateFlow - A Kotlin StateFlow wrapper around SavedStateHandle

SavedStateFlow SavedStateFlow is a Kotlin StateFlow wrapper around SavedStateHan

Wrapper of FusedLocationProviderClient for Android to support modern usage like LiveData and Flow

FancyLocationProvider Wrapper of FusedLocationProviderClient for Android to support modern usage like LiveData or Flow. Install Add Jitpack repository

Runtime Mobile Security (RMS) 📱🔥  - is a powerful web interface that helps you to manipulate Android and iOS Apps at Runtime
Runtime Mobile Security (RMS) 📱🔥 - is a powerful web interface that helps you to manipulate Android and iOS Apps at Runtime

Runtime Mobile Security (RMS) 📱 🔥 by @mobilesecurity_ Runtime Mobile Security (RMS), powered by FRIDA, is a powerful web interface that helps you to

Permissionmanager is a small wrapper for handling permission requests.

Permissionmanager Permissionmanager is a small wrapper for handling permission requests. Installation Add jitpack to your repositories in Project buil

Dependency Injection library for Compose Multiplatform, Koin wrapper.

🥥 Cokoin Injection library for Compose (Multiplatform and Jetpack), Koin wrapper. It uses @Composable functions to configure KoinContext and Scopes.

🧸 A multiplatform coroutine-based wrapper for popular platform-specific Redis client libraries

🧸 rekt ⚠️ WARNING! This project is experimental and may be missing essential features. Please let us know if you found any issues or have any suggest

Comments
  • Replace empty embed field arrays with null after serialization

    Replace empty embed field arrays with null after serialization

    Creating an embed with the message builder results, in the raw embed always having an empty array of fields instead of null in its final payload, which adds unnecessary spacing at the end of the embed if no fields are specified.

    This image shows how it should look based on the code vs how it actually looks. guilded_image_f9fc0637776c5648ca66ec23a9619145

    To solve this issue, is just check the array length of the serialized embed and replace it with null incase the array is empty.

    opened by helightdev 3
  • Gateway Events

    Gateway Events

    These are all known guilded events, and we're going to support all of them in the gateway module (and later create a wrapper for most of them in the core module):

    This issue is currently being worked on in the gateway branch.

    • [x] Hello
    • [x] DMChatChannelCreated
    • [x] ChatChannelBroadcastCall
    • [x] ChatChannelBroadcastCallResponse
    • [x] ChatChannelUpdated
    • [x] ChatChannelTyping
    • [ ] ChatChannelHidden
    • [x] ChatChannelNicknameChanged
    • [x] ChatMessageCreated
    • [x] ChatMessageUpdated
    • [x] ChatMessageDeleted
    • [x] ChatMessagesDeleted
    • [x] ChatMessageReactionAdded
    • [x] ChatMessageReactionDeleted
    • [x] ChatPinnedMessageCreated
    • [x] ChatPinnedMessageDeleted
    • [x] TemporalChannelCreated
    • [x] TemporalChannelUsersAdded
    • [ ] TeamSocketReconnected
    • [x] TeamRolesUpdated
    • [x] TeamXpAdded
    • [x] TeamXpSet
    • [x] TeamReactionsUpdated
    • [x] TeamReactionRemoved
    • [x] TeamContentReactionsAdded
    • [x] TeamContentReactionsRemoved
    • [ ] TeamContentDeleted
    • [x] TeamMessagesDeleted
    • [ ] TeamThreadCreated
    • [ ] TeamThreadReplyCreated
    • [ ] TeamEventModified
    • [ ] TeamEventCreated
    • [x] TeamEventRemoved
    • [x] TeamMemberJoined
    • [x] TeamMemberRemoved
    • [ ] TeamMembersRemoved
    • [x] TeamMutedMembersUpdated
    • [x] TeamDeafenedMembersUpdated
    • [ ] TeamMemberAliasUpdated
    • [x] TeamSubscriptionInfoUpdated
    • [ ] TeamStreamInfoUpdated
    • [ ] TeamContentOperationsApplied
    • [ ] TeamContentReplaced
    • [ ] TeamContentReplyAdded
    • [ ] TeamContentReplyRemoved
    • [x] TeamAvailabilitiesUpdated
    • [x] TeamChannelAvailabilitiesUpdated
    • [x] TeamChannelAvailabilitiesRemoved
    • [x] TeamMemberUpdated
    • [ ] TeamMemberSocialLinkUpdated
    • [x] TeamGameAdded
    • [x] TeamApplicationCreated
    • [x] TeamApplicationRemoved
    • [x] TeamApplicationUpdated
    • [x] TeamUpdated
    • [x] TeamChannelCreated
    • [x] TeamChannelUpdated
    • [x] TeamChannelPrioritiesUpdated
    • [x] TeamChannelCategoryPrioritiesUpdated
    • [x] TeamChannelDeleted
    • [x] TeamChannelsDeleted
    • [x] TeamChannelCategoryCreated
    • [x] TeamChannelCategoryUpdated
    • [x] TeamChannelCategoryDeleted
    • [x] TeamChannelCategoriesDeleted
    • [x] TeamChannelCategoryGroupMoved
    • [ ] TeamWebhookCreated
    • [ ] TeamWebhookUpdated
    • [x] TeamBotCreated
    • [x] TeamBotUpdated
    • [ ] TeamGroupPrioritiesUpdated
    • [x] TeamGroupDeleted
    • [x] TeamGroupArchived
    • [x] TeamGroupRestored
    • [ ] TeamGroupFollowed
    • [x] TeamServerSubscriptionPlanCreated
    • [x] TeamServerSubscriptionPlanUpdated
    • [x] TeamServerSubscriptionPlanDeleted
    • [ ] TeamServerSubscriptionUpdated
    • [ ] UserSocketConnected
    • [ ] UserSocketConnectError
    • [ ] UserSocketReconnected
    • [ ] UserSocketReconnecting
    • [ ] UserAliasUpdated
    • [ ] TeamMemberStreamUpdated
    • [x] UserPresenceManuallySet
    • [ ] UserPresenceReceived
    • [x] UserPinged
    • [x] UserTeamsUpdated
    • [ ] UserSocialLinkUpdated
    • [ ] UserTeamSectionUnreadCountIncremented
    • [ ] UserScannedMobileDownloadQr
    • [x] UserStreamsVisibilityUpdated
    • [x] UserTeamSectionSeen
    • [x] TeamChannelContentCreated
    • [ ] TeamChannelContentCreatedSilent
    • [x] TeamChannelContentReplyCreated
    • [x] TeamChannelContentReplyUpdated
    • [x] TeamChannelContentReplyDeleted
    • [x] TeamChannelContentUpdated
    • [x] TeamChannelContentDeleted
    • [x] TeamChannelArchived
    • [ ] TeamChannelRestored
    • [x] TeamChannelVoiceParticipantAdded
    • [x] TeamChannelVoiceParticipantRemoved
    • [ ] TeamChannelVoiceUserClientConnected
    • [ ] TeamChannelStreamUserClientConnected
    • [x] TeamChannelStreamAdded
    • [x] TeamChannelStreamRemoved
    • [x] TeamChannelStreamActive
    • [x] TeamChannelStreamEnded
    • [ ] TeamChannelVoiceUserMoved
    • [x] ChannelSeen
    • [ ] ChannelContentSeen
    • [x] ChannelBadged
    • [ ] ChannelUnbadged
    • [x] TeamGroupCreated
    • [x] TeamGroupUpdated
    • [ ] TeamGroupDeletedForUser
    • [ ] TeamUserGroupPrioritiesUpdated
    • [ ] TeamGroupMarkedAsRead
    • [ ] MediaUploadProgress
    • [ ] VoiceChannelRegionPingReport

    Unsupported Events

    • [ ] UserUpdated
    • [ ] TeamStripeAccountOnboarded
    💡 Enhancement 💁 Help wanted 
    opened by SrGaabriel 3
  • Core Wrapped Events

    Core Wrapped Events

    Issue intended to wrap all events received from the gateway in deck-core

    • [ ] Hello
    • [ ] DMChatChannelCreated
    • [ ] ChatChannelBroadcastCall
    • [ ] ChatChannelBroadcastCallResponse
    • [ ] ChatChannelUpdated
    • [ ] ChatChannelTyping
    • [ ] ChatChannelHidden
    • [ ] ChatChannelNicknameChanged
    • [x] ChatMessageCreated
    • [ ] ChatMessageUpdated
    • [ ] ChatMessageDeleted
    • [ ] ChatMessagesDeleted
    • [ ] ChatMessageReactionAdded
    • [ ] ChatMessageReactionDeleted
    • [ ] ChatPinnedMessageCreated
    • [ ] ChatPinnedMessageDeleted
    • [ ] TemporalChannelCreated
    • [ ] TemporalChannelUsersAdded
    • [ ] TeamSocketReconnected
    • [x] TeamRolesUpdated
    • [x] TeamXpAdded
    • [x] TeamXpSet
    • [ ] TeamReactionsUpdated
    • [ ] TeamReactionRemoved
    • [x] TeamContentReactionsAdded
    • [x] TeamContentReactionsRemoved
    • [ ] TeamContentDeleted
    • [x] TeamMessagesDeleted
    • [ ] TeamThreadCreated
    • [ ] TeamThreadReplyCreated
    • [ ] TeamEventModified
    • [ ] TeamEventCreated
    • [ ] TeamEventRemoved
    • [x] TeamMemberJoined
    • [x] TeamMemberRemoved
    • [ ] TeamMembersRemoved
    • [x] TeamMutedMembersUpdated
    • [x] TeamDeafenedMembersUpdated
    • [ ] TeamMemberAliasUpdated
    • [ ] TeamSubscriptionInfoUpdated
    • [ ] TeamStreamInfoUpdated
    • [ ] TeamContentOperationsApplied
    • [ ] TeamContentReplaced
    • [ ] TeamContentReplyAdded
    • [ ] TeamContentReplyRemoved
    • [ ] TeamAvailabilitiesUpdated
    • [ ] TeamChannelAvailabilitiesUpdated
    • [ ] TeamChannelAvailabilitiesRemoved
    • [x] TeamMemberUpdated
    • [ ] TeamMemberSocialLinkUpdated
    • [x] TeamGameAdded
    • [x] TeamApplicationCreated
    • [x] TeamApplicationRemoved
    • [x] TeamApplicationUpdated
    • [x] TeamUpdated
    • [x] TeamChannelCreated
    • [x] TeamChannelUpdated
    • [ ] TeamChannelPrioritiesUpdated
    • [ ] TeamChannelCategoryPrioritiesUpdated
    • [x] TeamChannelDeleted
    • [ ] TeamChannelsDeleted
    • [ ] TeamChannelCategoryCreated
    • [ ] TeamChannelCategoryUpdated
    • [ ] TeamChannelCategoryDeleted
    • [ ] TeamChannelCategoriesDeleted
    • [ ] TeamChannelCategoryGroupMoved
    • [ ] TeamWebhookCreated
    • [ ] TeamWebhookUpdated
    • [x] TeamBotCreated
    • [x] TeamBotUpdated
    • [ ] TeamGroupPrioritiesUpdated
    • [ ] TeamGroupDeleted
    • [ ] TeamGroupArchived
    • [ ] TeamGroupRestored
    • [ ] TeamGroupFollowed
    • [x] TeamServerSubscriptionPlanCreated
    • [x] TeamServerSubscriptionPlanUpdated
    • [x] TeamServerSubscriptionPlanDeleted
    • [ ] TeamServerSubscriptionUpdated
    • [ ] UserSocketConnected
    • [ ] UserSocketConnectError
    • [ ] UserSocketReconnected
    • [ ] UserSocketReconnecting
    • [ ] UserAliasUpdated
    • [ ] TeamMemberStreamUpdated
    • [ ] UserPresenceManuallySet
    • [ ] UserPresenceReceived
    • [ ] UserPinged
    • [ ] UserTeamsUpdated
    • [ ] UserSocialLinkUpdated
    • [ ] UserTeamSectionUnreadCountIncremented
    • [ ] UserScannedMobileDownloadQr
    • [ ] UserStreamsVisibilityUpdated
    • [ ] UserTeamSectionSeen
    • [ ] TeamChannelContentCreated
    • [ ] TeamChannelContentCreatedSilent
    • [ ] TeamChannelContentReplyCreated
    • [ ] TeamChannelContentReplyUpdated
    • [ ] TeamChannelContentReplyDeleted
    • [ ] TeamChannelContentUpdated
    • [ ] TeamChannelContentDeleted
    • [ ] TeamChannelArchived
    • [ ] TeamChannelRestored
    • [ ] TeamChannelVoiceParticipantAdded
    • [ ] TeamChannelVoiceParticipantRemoved
    • [ ] TeamChannelVoiceUserClientConnected
    • [ ] TeamChannelStreamUserClientConnected
    • [ ] TeamChannelStreamAdded
    • [ ] TeamChannelStreamRemoved
    • [ ] TeamChannelStreamActive
    • [ ] TeamChannelStreamEnded
    • [ ] TeamChannelVoiceUserMoved
    • [ ] ChannelSeen
    • [ ] ChannelContentSeen
    • [ ] ChannelBadged
    • [ ] ChannelUnbadged
    • [ ] TeamGroupCreated
    • [ ] TeamGroupUpdated
    • [ ] TeamGroupDeletedForUser
    • [ ] TeamUserGroupPrioritiesUpdated
    • [ ] TeamGroupMarkedAsRead
    • [ ] MediaUploadProgress
    • [ ] VoiceChannelRegionPingReport

    Unsupported Events

    • [x] UserUpdated
    • [x] TeamStripeAccountOnboarded
    💡 Enhancement 💁 Help wanted 
    opened by oluiss 2
Releases(0.7.21)
Owner
Gabriel
🎓 Yet another human passionate with learning things!
Gabriel
A simple Kotlin wrapper around Anvil.

AnvilKotlin A simple Kotlin wrapper around Anvil. The only purpose of this library is to provide type safety to Anvil through Kotlin. Nothing more, no

Andre Artus 15 Oct 3, 2022
A lightweight, simple, smart and powerful Android routing library.

RxRouter Read this in other languages: 中文, English A lightweight, simple, smart and powerful Android routing library. Getting started Setting up the d

Season 323 Nov 10, 2022
This library is a set of simple wrapper classes that are aimed to help you easily access android device information.

SysInfo Simple, single class wrapper to get device information from an android device. This library provides an easy way to access all the device info

Klejvi Kapaj 7 Dec 27, 2022
The most complete and powerful data-binding library and persistence infra for Kotlin 1.3, Android & Splitties Views DSL, JavaFX & TornadoFX, JSON, JDBC & SQLite, SharedPreferences.

Lychee (ex. reactive-properties) Lychee is a library to rule all the data. ToC Approach to declaring data Properties Other data-binding libraries Prop

Mike 112 Dec 9, 2022
Dead simple EventBus for Android made with Kotlin and RxJava 2

KBus Super lightweight (13 LOC) and minimalistic (post(), subscribe(), unsubscribe()) EventBus written with idiomatic Kotlin and RxJava 2 KBus in 3 st

Adriel Café 46 Dec 6, 2022
🚟 Lightweight, and simple scheduling library made for Kotlin (JVM)

Haru ?? Lightweight, and simple scheduling library made for Kotlin (JVM) Why did you build this? I built this library as a personal usage library to h

Noel 13 Dec 16, 2022
A Kotlin DSL wrapper around the mikepenz/MaterialDrawer library.

MaterialDrawerKt Create navigation drawers in your Activities and Fragments without having to write any XML, in pure Kotlin code, with access to all t

Márton Braun 517 Nov 19, 2022
🔓 Kotlin version of the popular google/easypermissions wrapper library to simplify basic system permissions logic on Android M or higher.

EasyPermissions-ktx Kotlin version of the popular googlesample/easypermissions wrapper library to simplify basic system permissions logic on Android M

Madalin Valceleanu 326 Dec 23, 2022
Android AsyncTask wrapper library, written in Kotlin

KillerTask This is a Kotlin Android library to create async background tasks. Inspired by TinyTask, but more beautiful and easy to use for Kotlin Andr

Inaka 26 Oct 3, 2022
A lightweight Kotlin friendly wrapper around Couchbase lite for Android.

CouchBaseKtx ?? Work In-Progress ?? A lightweight Kotlin friendly wrapper around Couchbase-lite for Android Read up a little bit of documentation abou

Jaya Surya Thotapalli 5 Feb 15, 2022