Java
Need help with slack-api?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.
allbegray

Description

Find the contributor!!! A Java client for the Slack Web API, Incoming Webhooks, Slackbot Remote Control, RTM(Real Time Messaging) API.

125 Stars 74 Forks MIT License 182 Commits 13 Opened issues

Services available

Need anything else?

Release

slack-api

A Java client for the Slack Web API, Incoming Webhooks, Slackbot Remote Control, RTM(Real Time Messaging) API

Maven

Step 1. Add the JitPack repository to your build file

xml

    jitpack.io
    https://jitpack.io

Step 2. Add the dependency in the form
xml

    com.github.allbegray
    slack-api
    v1.7.0.RELEASE

Change Logs

v1.7.0.RELEASE

merge async-http-client version update to 2.4.5 #49
merge Get bot id, bot acess token and get bot user id #50

v1.6.0.RELEASE

merge Add reply broadcast flag #43
merge Adjust code indentation on README #45
merge add specific exception if hitting rate limits #46
merge fix create group param #47

v1.5.1.RELEASE

merge add threads support #37
merge RestUtils logs verbosity reduced #39
merge Don't check webhookUrl #40

Slack Web API compatibility

auth, bots, channels, chat, dnd, emoji, files.comments. files, groups, im, mpim, oauth, pins, reactions, reminders, rtm, stars, team, usergroups, usergroups.users, users ```java public interface SlackWebApiClient {

void shutdown();

// auth

Authentication auth();

void setWebApiUrl(String webApiUrl);

String getWebApiUrl();

// bots

Bot getBotInfo(String bot);

// channels

boolean archiveChannel(String channel); Channel createChannel(String name); History getChannelHistory(String channel); History getChannelHistory(String channel, int count); History getChannelHistory(String channel, String latest, String oldest, boolean inclusive, int count, boolean unreads); Channel getChannelInfo(String channel); Channel inviteUserToChannel(String channel, String user); Channel joinChannel(String name); boolean kickUserFromChannel(String channel, String user); boolean leaveChannel(String channel); List getChannelList(); List getChannelList(boolean exclude_archived); boolean markChannel(String channel, String ts); Channel renameChannel(String channel, String name); boolean setChannelPurpose(String channel, String purpose); boolean setChannelTopic(String channel, String topic); boolean unarchiveChannel(String channel);

// chat

boolean deleteMessage(String channel, String ts); boolean meMessage(String channel, String text); String postMessage(String channel, String text); String postMessage(String channel, String text, String username, boolean as_user); String postMessage(String channel, String text, String username, boolean as_user, boolean link_names, List attachments, boolean unfurl_links, boolean unfurl_media, String icon_url, String icon_emoji); String postMessage(ChatPostMessageMethod method); String updateMessage(String channel, String ts, String text); String updateMessage(String channel, String ts, String text, List attachments, boolean link_names);

// dnd

boolean endDnd(); EndSnooze endSnooze(); SetSnooze setSnooze(int num_minutes); DndInfo getDndInfo(); DndInfo getDndInfo(String user); Map getDndTeamInfo(); Map getDndTeamInfo(List users);

// emoji

Map getEmojiList();

// files.comments

Comment addFileComment(String file, String comment); Comment editFileComment(String file, String id, String comment); boolean deleteFileComment(String file, String id);

// files

boolean deleteFile(String file); FileInfo getFileInfo(String file); FileInfo getFileInfo(String file, int page); FileInfo getFileInfo(String file, int page, int count); FileList getFileList(); FileList getFileList(int page); FileList getFileList(int page, int count); FileList getFileList(String user); FileList getFileList(String user, int page); FileList getFileList(String user, int page, int count); FileList getFileList(String user, String ts_from, String ts_to, String types, int page, int count); File revokeFilePublicURL(String file); File sharedFilePublicURL(String file); File uploadFile(java.io.File file, String title, String initial_comment, String channels); File uploadFile(java.io.File file, String filetype, String filename, String title, String initial_comment, String channels); File uploadFile(InputStream is, String filetype, String filename, String title, String initial_comment, String channels);

// groups

boolean archiveGroup(String channel); boolean closeGroup(String channel); Group createGroup(String name); Group createChildGroup(String name); History getGroupHistory(String channel); History getGroupHistory(String channel, int count); History getGroupHistory(String channel, String latest, String oldest, boolean inclusive, int count, boolean unreads); Group getGroupInfo(String channel); Group inviteUserToGroup(String channel, String user); boolean kickUserFromGroup(String channel, String user); boolean leaveGroup(String channel); List getGroupList(); List getGroupList(boolean exclude_archived); boolean markGroup(String channel, String ts); boolean openGroup(String channel); Group renameGroup(String channel, String name); boolean setGroupPurpose(String channel, String purpose); boolean setGroupTopic(String channel, String topic); boolean unarchiveGroup(String channel);

// im (direct message channel)

boolean closeDirectMessageChannel(String channel); History getDirectMessageChannelHistory(String channel); History getDirectMessageChannelHistory(String channel, int count); History getDirectMessageChannelHistory(String channel, String latest, String oldest, boolean inclusive, int count, boolean unreads); List getDirectMessageChannelList(); boolean markDirectMessageChannel(String channel, String ts); String openDirectMessageChannel(String user);

// mpim (multiparty direct message channel)

boolean closeMultipartyDirectMessageChannel(String channel); History getMultipartyDirectMessageChannelHistory(String channel); History getMultipartyDirectMessageChannelHistory(String channel, int count); History getMultipartyDirectMessageChannelHistory(String channel, String latest, String oldest, boolean inclusive, int count, boolean unreads); List getMultipartyDirectMessageChannelList(); boolean markMultipartyDirectMessageChannel(String channel, String ts); Group openMultipartyDirectMessageChannel(String... users); Group openMultipartyDirectMessageChannel(List users);

// oauth

OAuthAccessToken accessOAuth(String client_id, String client_secret, String code, String redirect_uri);

// pins

boolean pinFile(String channel, String file); boolean pinFileComment(String channel, String file_comment); boolean pinMessage(String channel, String timestamp); List getPinList(String channel); boolean unpinFile(String channel, String file); boolean unpinFileComment(String channel, String file_comment); boolean unpinMessage(String channel, String timestamp);

// reactions

boolean addReactionToFile(String emojiName, String file); boolean addReactionToFileComment(String emojiName, String file_comment); boolean addReactionToMessage(String emojiName, String channel, String timestamp); ReactionItem getReactionByFile(String emojiName, String file); ReactionItem getReactionByFileComment(String emojiName, String file_comment); ReactionItem getReactionByMessage(String emojiName, String channel, String timestamp); ReactionList getReactionList(int page); ReactionList getReactionList(int page, int count); ReactionList getReactionList(String user, int page); ReactionList getReactionList(String user, int page, int count); boolean removeReactionFromFile(String emojiName, String file); boolean removeReactionFromFileComment(String emojiName, String file_comment); boolean removeReactionFromMessage(String emojiName, String channel, String timestamp);

// reminders boolean addReminder(String text, String time); boolean addReminder(String text, long time); boolean completeReminder(String reminderId); boolean deleteReminder(String reminderId); ReminderInfo getReminderInfo(String reminderId); ReminderList getReminderList();

// rtm

JsonNode startRealTimeMessagingApi(); JsonNode startRealTimeMessagingApi(String simple_latest, String no_unreads, String mpim_aware);

// stars

boolean addStarToFile(String file); boolean addStarToFileComment(String file_comment); boolean addStarToMessage(String channel, String timestamp); StarList getStarList(int page); StarList getStarList(int page, int count); StarList getStarList(String user, int page); StarList getStarList(String user, int page, int count); boolean removeStarFromFile(String file); boolean removeStarFromFileComment(String file_comment); boolean removeStarFromMessage(String channel, String timestamp);

// team

TeamAccessLogList getTeamAccessLogList(int page); TeamAccessLogList getTeamAccessLogList(int page, int count); Team getTeamInfo(); TeamIntegrationLogList getTeamIntegrationLogList(int page); TeamIntegrationLogList getTeamIntegrationLogList(int page, int count); TeamIntegrationLogList getTeamIntegrationLogList(String service_id, String app_id, String user, String change_type, int page, int count);

// usergroups

Usergroup createUsergroup(String name, String handle, String description, List channels); Usergroup createUsergroup(String name, String handle, String description, List channels, boolean include_count); Usergroup disableUsergroup(String usergroup); Usergroup disableUsergroup(String usergroup, boolean include_count); Usergroup enableUsergroup(String usergroup); Usergroup enableUsergroup(String usergroup, boolean include_count); List getUsergroupList(); List getUsergroupList(boolean include_disabled, boolean include_count, boolean include_users); Usergroup updateUsergroup(String name, String handle, String description, List channels); Usergroup updateUsergroup(String name, String handle, String description, List channels, boolean include_count);

// usergroups.users

List getUsergroupUserList(String usergroup); List getUsergroupUserList(String usergroup, boolean include_disabled); Usergroup updateUsergroupUser(String usergroup, List users); Usergroup updateUsergroupUser(String usergroup, List users, boolean include_count);

// users

UserPresence getUserPresence(String user); User getUserInfo(String user); User lookupUserByEmail(String email); List getUserList(); List getUserListWithPresence(); boolean setActiveUser(); boolean setPresenceUser(Presence presence);

} ```

Slack client factory

SlackWebApiClient webApiClient = SlackClientFactory.createWebApiClient(token);

SlackWebhookClient webhookClient = SlackClientFactory.createWebhookClient(webhookUrl);

SlackbotClient slackbotClient = SlackClientFactory.createSlackbotClient(slackbotUrl);

SlackRealTimeMessagingClient rtmClient = SlackClientFactory.createSlackRealTimeMessagingClient(String token)

Coming soon next

search

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.