Guilded4J icon indicating copy to clipboard operation
Guilded4J copied to clipboard

Guilded bot API wrapper for Java development. The fine and easy way to create your Guilded bots in Java!

Guilded4J

Guilded API wrapper for Java development

Official Guilded server: guilded.gg/Guilded4J-Cafe (or use this)

Getting started with the ping-pong bot

  1. Add G4J as dependency
  2. Start coding
import com.google.common.eventbus.Subscribe;
import vip.floatationdevice.guilded4j.G4JClient;
import vip.floatationdevice.guilded4j.event.ChatMessageCreatedEvent;
import vip.floatationdevice.guilded4j.object.ChatMessage;

public class Main {
  final static G4JClient client = new G4JClient("YOUR TOKEN HERE");

  @Subscribe
  public void onMessage(ChatMessageCreatedEvent event) {
    ChatMessage m = event.getChatMessage();
    if(m.getContent().equals("ping")) { // if someone sends "ping"
      client.getChatMessageManager()    // use the client's chat message manager
            .createChannelMessage(      // send a chat message
                m.getChannelId(),       // send to the channel where "ping" belongs to
                "pong"                  // send "pong"
            );
    }
  }

  public static void main(String[] args) {
    client.registerEventListener(new Main());
    client.connectWebSocket();
  }
}
  1. Compile & have fun :)

Useful resources

NOTE:

  • The Guilded bot API is still in early development. Don't request Guilded4J to add some functions that are not implemented on the Guilded side.

Supported features & Progress:

Chat & messaging

  • [x] Create message - createChannelMessage()
  • [x] Delete message - deleteChannelMessage()
  • [x] Update message - updateChannelMessage()
  • [x] Get message info - getChannelMessage()
  • [x] Get messages - getChannelMessages()
  • [x] Add reaction - addReaction()
  • [x] Remove reaction - removeReaction()
Calendar

  • [x] Create event - createCalendarEvent()
  • [x] Delete event - deleteCalendarEvent()
  • [x] Update event - updateCalendarEvent()
  • [x] Get event info - getCalendarEvent()
  • [x] Get events - getCalendarEvents()
  • [x] Create comment - createCalendarEventComment()
  • [x] Update comment - updateCalendarEventComment()
  • [x] Delete comment - deleteCalendarEventComment()
  • [x] Get comment info - getCalendarEventComment()
  • [x] Get comments - getCalendarEventComments()
  • [x] Create or update RSVP - updateCalendarEventRsvp()
  • [x] Get RSVPs - getCalendarEventRsvps()
  • [x] Delete RSVP - deleteCalendarEventRsvp()
  • [x] Get RSVP info - getCalendarEventRsvp()
Members

  • [x] Get user info - getUser()
  • [x] Update/delete nickname - setMemberNickname()
  • [x] Get member info - getServerMember()
  • [x] Kick server member - kickServerMember()
  • [x] Get member list - getServerMembers()
  • [x] Get member ban info - getServerMemberBan()
  • [x] Ban server member - banServerMember()
  • [x] Unban server member - unbanServerMember()
  • [x] Get member ban list - getServerMemberBans()
Forum

  • [x] Create forum topic - createForumTopic()
  • [x] Update forum topic - updateForumTopic()
  • [x] Delete forum topic - deleteForumTopic()
  • [x] Get forum topic info - getForumTopic()
  • [x] Get forum topic list - getForumTopics()
  • [x] Pin a forum topic - pinForumTopic()
  • [x] Unpin a forum topic - unpinForumTopic()
  • [x] Lock a forum topic - lockForumTopic()
  • [x] Unlock a forum topic - unlockForumTopic()
  • [x] Create a forum topic comment - createForumTopicComment()
  • [x] Update a forum topic comment - updateForumTopicComment()
  • [x] Delete a forum topic comment - deleteForumTopicComment()
  • [x] Get a comment on a forum topic - getForumTopicComment()
  • [x] Get a forum topic's comments - getForumTopicComments()
  • [x] Add reaction - addReaction()
  • [x] Remove reaction - removeReaction()
List

  • [x] Create list item - createListItem()
  • [x] Get list items - getListItems()
  • [x] Get a list item - getListItem()
  • [x] Update list item - updateListItem()
  • [x] Delete list item - deleteListItem()
  • [x] Completed list item - completeListItem()
  • [x] Uncomplted list item - uncompleteListItem()
Document

  • [x] Create document - createDoc()
  • [x] Update document - updateDoc()
  • [x] Delete document - deleteDoc()
  • [x] Get document info - getDoc()
  • [x] Get last 50 updated docs - getChannelDocs()
XP

  • [x] Add XP to user - awardUserXp()
  • [x] Add XP to all users with specified role - awardRoleXp()
  • [x] Set XP of user - setUserXp()
Social links

  • [x] Get member's social link - getSocialLink()
Group membership

  • [x] Add member to group - addGroupMember()
  • [x] Remove member from group - removeGroupMember()
Role membership

  • [x] Get member's role(s) - getMemberRoles()
  • [x] Assign role to member - addRoleMember()
  • [x] Remove role from member - removeRoleMember()
Webhooks

  • [x] Create webhook - createWebhook()
  • [x] Get webhooks - getWebhooks()
  • [x] Update webhook - updateWebhook()
  • [x] Delete webhook - deleteWebhook()
  • [x] Get webhook info - getWebhook()
Channels

  • [x] Create channel - createServerChannel()
  • [x] Update channel - updateServerChannel()
  • [x] Delete channel - deleteServerChannel()
  • [x] Get channel info - getServerChannel()
  • [ ] Get channel list - getServerChannels()
Server

  • [x] Get server info - getServer()
Event

  • [x] BotServerMembershipCreatedEvent
  • [x] BotServerMembershipDeletedEvent
  • [x] CalendarEventCreatedEvent
  • [x] CalendarEventDeletedEvent
  • [x] CalendarEventCommentCreatedEvent
  • [x] CalendarEventCommentUpdatedEvent
  • [x] CalendarEventCommentDeletedEvent
  • [x] CalendarEventRsvpDeletedEvent
  • [x] CalendarEventRsvpManyUpdatedEvent
  • [x] CalendarEventRsvpUpdatedEvent
  • [x] CalendarEventUpdatedEvent
  • [x] ChannelMessageReactionCreatedEvent
  • [x] ChannelMessageReactionDeletedEvent
  • [x] ChatMessageCreatedEvent
  • [x] ChatMessageDeletedEvent
  • [x] ChatMessageUpdatedEvent
  • [x] DocCreatedEvent
  • [x] DocDeletedEvent
  • [x] DocUpdatedEvent
  • [x] ForumTopicCreatedEvent
  • [x] ForumTopicDeletedEvent
  • [x] ForumTopicUpdatedEvent
  • [x] ForumTopicCommentCreatedEvent
  • [x] ForumTopicCommentUpdatedEvent
  • [x] ForumTopicCommentDeletedEvent
  • [x] ForumTopicPinnedEvent
  • [x] ForumTopicUnpinnedEvent
  • [x] ForumTopicReactionCreatedEvent
  • [x] ForumTopicReactionDeletedEvent
  • [x] ForumTopicCommentReactionCreatedEvent
  • [x] ForumTopicCommentReactionDeletedEvent
  • [x] ForumTopicLockedEvent
  • [x] ForumTopicUnlockedEvent
  • [x] GuildedWebsocketClosedEvent
  • [x] GuildedWebsocketWelcomeEvent
  • [x] ListItemCompletedEvent
  • [x] ListItemCreatedEvent
  • [x] ListItemDeletedEvent
  • [x] ListItemUncompletedEvent
  • [x] ListItemUpdatedEvent
  • [x] ServerChannelCreatedEvent
  • [x] ServerChannelDeletedEvent
  • [x] ServerChannelUpdatedEvent
  • [x] ServerMemberBannedEvent
  • [x] ServerMemberJoinedEvent
  • [x] ServerMemberRemovedEvent
  • [x] ServerMemberUnbannedEvent
  • [x] ServerMemberUpdatedEvent
  • [x] ServerRolesUpdatedEvent
  • [x] ServerWebhookCreatedEvent
  • [x] ServerWebhookUpdatedEvent
  • [x] ServerXpAddedEvent