{"id":13461500,"url":"https://github.com/rongcloud/server-sdk-go","last_synced_at":"2025-03-24T22:34:39.414Z","repository":{"id":24907940,"uuid":"28324625","full_name":"rongcloud/server-sdk-go","owner":"rongcloud","description":"RongCloud Server SDK in Go.","archived":false,"fork":false,"pushed_at":"2025-03-14T02:10:26.000Z","size":1018,"stargazers_count":61,"open_issues_count":8,"forks_count":42,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-03-14T03:22:48.031Z","etag":null,"topics":["golang","rongcloud-sdk-go"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rongcloud.png","metadata":{"files":{"readme":"README-en.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-12-22T04:37:01.000Z","updated_at":"2025-03-14T02:02:08.000Z","dependencies_parsed_at":"2023-01-14T01:48:56.024Z","dependency_job_id":"e750d6fe-8c6b-4117-b368-a472b115816c","html_url":"https://github.com/rongcloud/server-sdk-go","commit_stats":null,"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rongcloud%2Fserver-sdk-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rongcloud%2Fserver-sdk-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rongcloud%2Fserver-sdk-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rongcloud%2Fserver-sdk-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rongcloud","download_url":"https://codeload.github.com/rongcloud/server-sdk-go/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245366189,"owners_count":20603438,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["golang","rongcloud-sdk-go"],"created_at":"2024-07-31T11:00:40.885Z","updated_at":"2025-03-24T22:34:39.388Z","avatar_url":"https://github.com/rongcloud.png","language":"Go","readme":"# Server SDK in Go\n\nRongCloud Server SDK in Go.\n\n## Version notes\n\n- To simplify integration and improve maintenance, Server SDK v3 standardizes naming and methods with a clearer structure. Older versions (v1 and v2.0.1) are still available but won’t receive new features.\n- New developers should use Server SDK v3. If you’re using an older version, retest before switching—–direct upgrades aren’t supported.\n\n## API documentation\n- [Official docs](https://docs.rongcloud.io/platform-chat-api)\n\n## How to use\n\n### 1. Using older versions with Go Module\n\n- Go Module file: `require github.com/rongcloud/server-sdk-go`\n- Import: `import \"github.com/rongcloud/server-sdk-go/sdk\"`\n\n### 2. Using v3 with Go Module\n\n- v3 version: `require github.com/rongcloud/server-sdk-go/v3`\n- Import: `import \"github.com/rongcloud/server-sdk-go/v3/sdk\"`\n\n### 3. Using without Go Module\n\n- Download/update to GOPATH: `go get -u github.com/rongcloud/server-sdk-go`\n- Import: `import \"github.com/rongcloud/server-sdk-go/sdk\"`\n\n## Method invocation\n\n* See `rongcloud_test.go` for API call examples.\n\n```go\npackage main\n\nimport \"fmt\"\n\n// Older version or non-Go Module usage\nimport \"github.com/rongcloud/server-sdk-go/sdk\"\n\n// Go Module v3 usage\n//import \"github.com/rongcloud/server-sdk-go/v3/sdk\"\n\nfunc main() {\n\trc := sdk.NewRongCloud(\"appKey\", \"appSecret\")\n\tmsg := sdk.TXTMsg{\n\t\tContent: \"hello\",\n\t\tExtra:   \"helloExtra\",\n\t}\n\n\terr := rc.PrivateSend(\n\t\t\"userId\",\n\t\t[]string{\"toUserId\"},\n\t\t\"RC:TxtMsg\",\n\t\t\u0026msg,\n\t\t\"\",\n\t\t\"\",\n\t\t1,\n\t\t0,\n\t\t1,\n\t\t0,\n\t\t0,\n\t)\n\t\n\tfmt.Println(err)\n}\n```\n\n### HTTP parameter optimization\n\n- Optimize HTTP connections for better performance.\n- `sdk.WithMaxIdleConnsPerHost`: Max active connections per host, default 100.\n- `sdk.WithTimeout`: Connection timeout, default 10 seconds; minimum unit is seconds, e.g., `sdk.WithTimeout(30)` sets it to 30 seconds.\n- `sdk.WithKeepAlive`: Connection keepalive time, default 30 seconds; minimum unit is seconds, e.g., `sdk.WithKeepAlive(30)` sets it to 30 seconds.\n- `rc.SetHttpTransport`: Manually set the HTTP client.\n- `rc.GetHttpTransport`: Get the current global HTTP client.\n\n```go\npackage main\n\nimport \"fmt\"\nimport \"time\"\nimport \"net\"\nimport \"net/http\"\nimport \"github.com/rongcloud/server-sdk-go/sdk\"\n\nfunc main() {\n\t// Method 1: Set during object creation\n\trc := sdk.NewRongCloud(\"appKey\",\n\t\t\"appSecret\",\n\t\t// Max active connections per host\n\t\tsdk.WithMaxIdleConnsPerHost(100),\n\t\t)\n\t\n\t// Method 2: Custom HTTP client, set via the set method\n\tdialer := \u0026net.Dialer{\n        Timeout:   10 * time.Second,\n        KeepAlive: 30 * time.Second,\n    }\n    globalTransport := \u0026http.Transport{\n        DialContext:         dialer.DialContext,\n        MaxIdleConnsPerHost: 100,\n    }\n    rc.SetHttpTransport(globalTransport)\n\t\n}\n```\n\n### GO SDK feature support version list\n\n| Module                                                                                       | Method name                           | Description                                               | master |\n|:-----------------------------------------------------------------------------------------|:------------------------------|:-------------------------------------------------|:-------| \n| [User information](https://github.com/rongcloud/server-sdk-go/blob/master/sdk/user_test.go)          | UserRegister                  | Register, get token                                     | √      |\n|                                                                                          | UserUpdate                    | Update user info                                           | √      |\n|                                                                                          | OnlineStatusCheck             | Check user online status                                         | √      |\n|                                                                                          | BlacklistAdd                  | Add to blocklist                                            | √      |\n|                                                                                          | BlacklistGet                  | Get blocklist                                          | √      |\n|                                                                                          | BlacklistRemove               | Remove from blocklist                                            | √      |\n|                                                                                          | BlockAdd                      | Ban user                                           | √      |\n|                                                                                          | BlockGetList                  | Get banned user list                                         | √      |\n|                                                                                          | BlockRemove                   | Unban user                                           | √      |\n|                                                                                          | TagSet                        | Add user tag                                           | √      |\n|                                                                                          | TagBatchSet                   | Batch add user tags                                         | √      |\n|                                                                                          | TagGet                        | Get user tags                                           | √      |\n|                                                                                          | GroupMuteAdd                  | Add global group mute, user can’t send messages in any group                |        |\n|                                                                                          | GroupMuteRemove               | Remove global group mute                                       |        |\n|                                                                                          | GroupMuteGetList              | Get global group mute list                                     |        |\n|                                                                                          | ChatRoomMuteAdd               | Add global chatroom mute, user can’t send messages in any chatroom              |        |\n|                                                                                          | ChatRoomMuteRemove            | Remove global chatroom mute                                      |        |\n|                                                                                          | ChatRoomMuteGetList           | Get global chatroom mute list                                    |        |\n|                                                                                          | UserDeactivate                | Deactivate user                                             |    √    |\n|                                                                                          | UserDeactivateQuery           | Query deactivated users                                                 |    √    |\n|                                                                                          | UserReactivate                | Reactivate deactivated users                                                 |    √    |\n| [Sensitive words](https://github.com/rongcloud/server-sdk-go/blob/master/sdk/sensitive_test.go)      | SensitiveAdd                  | Add sensitive word, takes effect in 2 hours                               | √      |\n|                                                                                          | SensitiveGetList              | Get sensitive word list                                          | √      |\n|                                                                                          | SensitiveRemove               | Remove sensitive word, supports batch removal, takes effect in 2 hours                      | √      |\n| [Message sending](https://github.com/rongcloud/server-sdk-go/blob/master/sdk/message_test.go)       | PrivateSend                   | Send private message                                           | √      |\n|                                                                                          | PrivateSendTemplate           | Send private template message                                         | √      |\n|                                                                                          | PrivateRecall                 | Recall private message                                           | √      |\n|                                                                                          | ChatRoomSend                  | Send chatroom message                                          | √      |\n|                                                                                          | ChatRoomBroadcast             | Send chatroom broadcast message                                        | √      |\n|                                                                                          | GroupSend                     | Send group message                                           | √      |\n|                                                                                          | GroupSendMention              | Send group @ message                                        | √      |\n|                                                                                          | GroupRecall                   | Recall group message                                           | √      |\n|                                                                                          | SystemSend                    | Send system message                                           | √      |\n|                                                                                          | SystemSendTemplate            | Send system template message                                         | √      |\n|                                                                                          | SystemBroadcast               | Send broadcast message, max 2 per hour, 3 per day.               | √      |\n| [Message history](https://github.com/rongcloud/server-sdk-go/blob/master/sdk/message_test.go)     | HistoryGet                    | Get message history download URL                                     | √      |\n|                                                                                          | HistoryRemove                 | Delete message history                                       | √      |\n| [Broadcast push](https://github.com/rongcloud/server-sdk-go/blob/master/sdk/push_test.go)          | PushSend                      | Send push, max 2 per hour, 3 per day.       | √      |\n| [Group](https://github.com/rongcloud/server-sdk-go/blob/master/sdk/group_test.go)           | GroupCreate                   | Create group                                             | √      |\n|                                                                                          | GroupSync                     | Sync group relationships                                            | √      |\n|                                                                                          | GroupUpdate                   | Update group info                                            | √      |\n|                                                                                          | GroupGet                      | Get group info                                            | √      |\n|                                                                                          | GroupJoin                     | Invite users to group                                          | √      |\n|                                                                                          | GroupQuit                     | Quit group                                             | √      |\n|                                                                                          | GroupDismiss                  | Dismiss group                                             | √      |\n|                                                                                          | GroupMuteMembersAdd           | Mute users in group                       | √      |\n|                                                                                          | GroupMuteMembersRemove        | Unmute users in group                                       | √      |\n|                                                                                          | GroupMuteMembersGetList       | Get muted users in group                                     | √      |\n|                                                                                          | GroupMuteAllMembersAdd        | Mute all group members              | √      |\n|                                                                                          | GroupMuteAllMembersRemove     | Unmute all group members                                     | √      |\n|                                                                                          | GroupMuteAllMembersGetList    | Get group mute list                                         | √      |\n|                                                                                          | GroupMuteWhiteListUserAdd     | Add users to group mute allowlist            | √      |\n|                                                                                          | GroupMuteWhiteListUserRemove  | Remove users from group mute allowlist                                      | √      |\n|                                                                                          | GroupMuteWhiteListUserGetList | Get group mute allowlist                                    | √      |\n| [Conversation do not disturb](https://github.com/rongcloud/server-sdk-go/blob/master/sdk/conversation_test.go) | ConversationMute              | Mute conversation                                          | √      |\n|                                                                                          | ConversationUnmute            | Unmute conversation                                          | √      |\n|                                                                                          | ConversationGet               | Get conversation mute status                                        | √      |\n| [Chatroom](https://github.com/rongcloud/server-sdk-go/blob/master/sdk/chatroom_test.go)       | ChatRoomCreate                | Create chatroom                                            | √      |\n|                                                                                          | ChatRoomDestroy               | Destroy chatroom                                            | √      |\n|                                                                                          | ChatRoomGet                   | Get chatroom info                                          | √      |\n|                                                                                          | ChatRoomIsExist               | Check if user is in chatroom                                       | √      |\n|                                                                                          | ChatRoomBlockAdd              | Ban user from chatroom        | √      |\n|                                                                                          | ChatRoomBlockGetList          | Get banned users in chatroom                                      | √      |\n|                                                                                          | ChatRoomBlockRemove           | Unban user from chatroom                                        | √      |\n|                                                                                          | ChatRoomMuteMembersAdd        | Mute users in chatroom                         | √      |\n|                                                                                          | ChatRoomMuteMembersGetList    | Get muted users in chatroom                                      | √      |\n|                                                                                          | ChatRoomMuteMembersRemove     | Unmute users in chatroom                                        | √      |\n|                                                                                          | ChatRoomDemotionAdd           | Add low-priority messages in chatroom       | √      |\n|                                                                                          | ChatRoomDemotionGetList       | Get low-priority messages in chatroom                                    | √      |\n|                                                                                          | ChatRoomDemotionRemove        | Remove low-priority messages in chatroom                                      | √      |\n|                                                                                          | ChatRoomDistributionStop      | Stop chatroom message distribution                      | √      |\n|                                                                                          | ChatRoomDistributionResume    | Resume chatroom message distribution                                        | √      |\n|                                                                                          | ChatRoomKeepAliveAdd          | Keep chatroom alive                           | √      |\n|                                                                                          | ChatRoomKeepAliveRemove       | Remove chatroom keepalive                                          | √      |\n|                                                                                          | ChatRoomKeepAliveGetList      | Get keepalive chatrooms                                        | √      |\n|                                                                                          | ChatRoomWhitelistAdd          | Add whitelist message types in chatroom | √      |\n|                                                                                          | ChatRoomWhitelistRemove       | Remove whitelist message types                                        | √      |\n|                                                                                          | ChatRoomWhitelistGetList      | Get whitelist message types                                      | √      |\n|                                                                                          | ChatRoomUserWhitelistAdd      | Add whitelist users in chatroom | √      |\n|                                                                                          | ChatRoomUserWhitelistRemove   | Remove whitelist users                                          | √      |\n|                                                                                          | ChatRoomUserWhitelistGetList  | Get whitelist users                                        | √      | | ChatRoomBroadcast             | Broadcast a message to chat room                                        | √      |\n|                                                                                          | GroupSend                     | Send a group message                                           | √      |\n|                                                                                          | GroupSendMention              | Send a group @ message                                        | √      |\n|                                                                                          | GroupRecall                   | Recall a group message                                           | √      |\n|                                                                                          | SystemSend                    | Send a system message                                           | √      |\n|                                                                                          | SystemSendTemplate            | Send a system template message                                         | √      |\n|                                                                                          | SystemBroadcast               | Broadcast a message, limited to 2 times per hour and 3 times per day per app.               | √      |\n| [Message history](https://github.com/rongcloud/server-sdk-go/blob/master/sdk/message_test.go)     | HistoryGet                    | Get message history download URL                                     | √      |\n|                                                                                          | HistoryRemove                 | Delete message history                                       | √      |\n| [Broadcast push](https://github.com/rongcloud/server-sdk-go/blob/master/sdk/push_test.go)          | PushSend                      | Send a push, combined with broadcast messages, limited to 2 times per hour and 3 times per day per app.       | √      |\n| [Group](https://github.com/rongcloud/server-sdk-go/blob/master/sdk/group_test.go)           | GroupCreate                   | Create a group                                             | √      |\n|                                                                                          | GroupSync                     | Sync group relationships                                            | √      |\n|                                                                                          | GroupUpdate                   | Update group info                                            | √      |\n|                                                                                          | GroupGet                      | Get group info                                            | √      |\n|                                                                                          | GroupJoin                     | Invite users to join a group                                          | √      |\n|                                                                                          | GroupQuit                     | Quit a group                                             | √      |\n|                                                                                          | GroupDismiss                  | Dismiss a group                                             | √      |\n|                                                                                          | GroupMuteMembersAdd           | Mute users in a group, preventing them from sending messages                       | √      |\n|                                                                                          | GroupMuteMembersRemove        | Unmute users in a group                                       | √      |\n|                                                                                          | GroupMuteMembersGetList       | Get list of muted users in a group                                     | √      |\n|                                                                                          | GroupMuteAllMembersAdd        | Mute all members in a group, preventing them from sending messages              | √      |\n|                                                                                          | GroupMuteAllMembersRemove     | Unmute all members in a group                                     | √      |\n|                                                                                          | GroupMuteAllMembersGetList    | Get list of muted groups                                         | √      |\n|                                                                                          | GroupMuteWhiteListUserAdd     | Add users to group mute whitelist, allowing them to send messages even if the group is muted            | √      |\n|                                                                                          | GroupMuteWhiteListUserRemove  | Remove users from group mute whitelist                                      | √      |\n|                                                                                          | GroupMuteWhiteListUserGetList | Get list of users in group mute whitelist                                    | √      |\n| [Conversation mute](https://github.com/rongcloud/server-sdk-go/blob/master/sdk/conversation_test.go) | ConversationMute              | Mute a conversation                                          | √      |\n|                                                                                          | ConversationUnmute            | Unmute a conversation                                          | √      |\n|                                                                                          | ConversationGet               | Get conversation mute status                                        | √      |\n| [Chat room](https://github.com/rongcloud/server-sdk-go/blob/master/sdk/chatroom_test.go)       | ChatRoomCreate                | Create a chat room                                            | √      |\n|                                                                                          | ChatRoomDestroy               | Destroy a chat room                                            | √      |\n|                                                                                          | ChatRoomGet                   | Query chat room info                                          | √      |\n|                                                                                          | ChatRoomIsExist               | Check if a user is in a chat room                                       | √      |\n|                                                                                          | ChatRoomBlockAdd              | Block a user from a chat room, preventing them from joining or kicking them if already in the chat room        | √      |\n|                                                                                          | ChatRoomBlockGetList          | Get list of blocked users in a chat room                                      | √      |\n|                                                                                          | ChatRoomBlockRemove           | Unblock a user from a chat room                                        | √      |\n|                                                                                          | ChatRoomMuteMembersAdd        | Mute a user in a chat room, preventing them from sending messages                         | √      |\n|                                                                                          | ChatRoomMuteMembersGetList    | Get list of muted users in a chat room                                      | √      |\n|                                                                                          | ChatRoomMuteMembersRemove     | Unmute a user in a chat room                                        | √      |\n|                                                                                          | ChatRoomDemotionAdd           | Add low-priority messages to a chat room, which may be discarded when the server is under heavy load       | √      |\n|                                                                                          | ChatRoomDemotionGetList       | Get list of low-priority messages in a chat room                                    | √      |\n|                                                                                          | ChatRoomDemotionRemove        | Remove low-priority messages from a chat room                                      | √      |\n|                                                                                          | ChatRoomDistributionStop      | Stop chat room message distribution, preventing the server from sending messages after receiving them                      | √      | | ChatRoomDistributionResume    | Resume chatroom message distribution                                        | √      |\n|                                                                                          | ChatRoomKeepAliveAdd          | Add keepalive chatroom, keepalive chatrooms won’t be automatically destroyed                           | √      |\n|                                                                                          | ChatRoomKeepAliveRemove       | Remove keepalive chatroom                                          | √      |\n|                                                                                          | ChatRoomKeepAliveGetList      | Get keepalive chatroom list                                        | √      |\n|                                                                                          | ChatRoomWhitelistAdd          | Add allowlist message type, allowlist message types won’t be discarded when server pressure is high due to a surge in message volume, ensuring message delivery | √      |\n|                                                                                          | ChatRoomWhitelistRemove       | Remove allowlist message type                                        | √      |\n|                                                                                          | ChatRoomWhitelistGetList      | Get allowlist message type list                                      | √      |\n|                                                                                          | ChatRoomUserWhitelistAdd      | Add allowlist user, messages sent by allowlist users won’t be discarded when server pressure is high due to a surge in message volume, ensuring message delivery | √      |\n|                                                                                          | ChatRoomUserWhitelistRemove   | Remove allowlist user                                          | √      |\n|                                                                                          | ChatRoomUserWhitelistGetList  | Get allowlist user list                                        | √      |\n","funding_links":[],"categories":["Go"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frongcloud%2Fserver-sdk-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frongcloud%2Fserver-sdk-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frongcloud%2Fserver-sdk-go/lists"}