overwolf.social.reddit API
Provides access to the Reddit social provider.
You can use overwolf.social.getDisabledServices() method to check if the service is available.
Methods Reference
- overwolf.social.reddit.performUserLogin()
- overwolf.social.reddit.performLogout()
- overwolf.social.reddit.getUserInfo()
- overwolf.social.reddit.searchSubreddits()
- overwolf.social.reddit.share()
- overwolf.social.reddit.shareEx()
- overwolf.social.reddit.post()
- overwolf.social.reddit.cancelShare()
- overwolf.social.reddit.getSubredditFlairs()
Events Reference
Types Reference
- overwolf.social.reddit.RedditShareParameters Object
- overwolf.social.reddit.RedditPostParameters Object
- overwolf.social.reddit.SocialShareResult Object
- overwolf.social.reddit.SocialShareProgress Object
- overwolf.social.reddit.enums.ShareState Enum
- overwolf.social.reddit.Subreddit Object
- overwolf.social.reddit.RedditAllowedPostTypes Object
- overwolf.social.reddit.SearchSubredditsResult Object
- overwolf.social.reddit.ShareFailedEvent Object
- overwolf.social.reddit.LoginStateChangedEvent Object
performUserLogin()
Version added: 0.128
Opens the login dialog.
There is no callback for this method and the only way to know if the user signed in is via onLoginStateChanged event.
performLogout(callback)
Version added: 0.128
Performs a "strong" sign out of Reddit, so that even if the user performs a login via the Overwolf Settings / Accounts page, he will be considered signed out.
| Parameter | Type | Description |
|---|---|---|
| callback | (Result) => void | A callback function which will be called with the status of the request |
getUserInfo(callback)
Version added: 0.128
If the user is currently logged into Reddit, this will return user information, Otherwise, an error is returned.
| Parameter | Type | Description |
|---|---|---|
| callback | (Result: GetUserInfoResult) => void | A callback function which will be called with the status of the request |
searchSubreddits(query, callback)
Version added: 0.128
Search for subreddits whose names begin with a substring.
| Parameter | Type | Description |
|---|---|---|
| query | string | The search string |
| callback | (Result: SearchSubredditsResult) => void | Will contain an array of subreddits that match the search string |
share(RedditShareParameters, callback)
Version added: 0.128
If the user is currently logged into reddit, this will perform the video share.
| Parameter | Type | Description |
|---|---|---|
| redditShareParameters | RedditShareParameters Object | The share parameters |
| callback | (Result) => void | A callback function which will be called with the status of the request |
Types of errors that can occur:
- Disconnected (user isn't signed in)
- MissingFile (trying to share a missing file)
- UnsupportedFile (trying to share an unsupported format)
shareEx(RedditShareParameters, callback, callback)
Version added: 0.198
If the user is currently logged into Reddit, this will perform the video share.
| Parameter | Type | Description |
|---|---|---|
| redditShareParams | RedditShareParameters Object | The share parameters |
| resultCallback | (SocialShareResult) => void | A callback function which will be called with the resulting status of the request |
| progressCallback | (socialShareProgress) => void | A callback function which will be called whenever share progress is made. See note |
Types of errors that can occur:
- Disconnected (user isn't signed in)
- MissingFile (trying to share a missing file)
- UnsupportedFile (trying to share an unsupported format)
Progress Note
This callback will only be called when uploading a video.
Videos will be uploaded in uniforamlly sized chunks (except for the last chunk). The callback will be called every time another chunk was successfully uploaded.
cancelShare(string, callback)
Version added: 0.198
cancels an ongoing share request with the given id, if valid. Callback will be invoked with success if such a request was found and a cancellation order was executed (may take a while)
| Parameter | Type | Description |
|---|---|---|
| id | string | The request ID |
| callback | (Result) => void | Called with the result of the cancellation |
overwolf.social.reddit.cancelShare("2", console.log)
post(RedditPostParameters, callback)
Version added: 0.203
If the user is currently logged into Reddit, this will perform the video share.
| Parameter | Type | Description |
|---|---|---|
| redditShareParams | RedditPostParameters Object | The post parameters |
| callback | (Result) => void | A callback function which will be called with the status of the request |
Types of errors that can occur:
- Disconnected (user isn't signed in)
getSubredditFlairs(subredditName, callback)
Version added: 0.160
Returns a list of flairs supported by the given subreddit.
| Parameter | Type | Description |
|---|---|---|
| subredditName | string | The given subreddit |
| callback | (Result) => void | A callback function which will be called with the status of the request |
onLoginStateChanged
Version added: 0.128
Fired when the user’s login state changes, with the following structure: LoginStateChangedEvent Object.
onShareFailed
Version added: 0.128
Fired when an error is returned from Reddit, with the following structure:
ShareFailedEventObject.
RedditPostParameters Object
Version added: 0.203
This object defines all parameters that should be passed to the Reddit
post().
Putting a URL in the content property will create a Reddit post that is of a link type. Otherwise, it will be a normal "self" reddit post.
| Parameter | Type | Description |
|---|---|---|
| subreddit | string | The subreddit to which the post will be shared |
| title | string | The shared post's title |
| content | string | The shared post's content |
| flair_id (Optional) | Flair object |
RedditShareParameters Object
Version added: 0.128
This object defines all parameters that can/should be passed to the Reddit
share()andshareEx()methods.
| Parameter | Type | Description |
|---|---|---|
| file | string | The file to share |
| id (Optional) | string | The ID for the current share request. See note |
| useOverwolfNotifications | boolean | Whether or not Overwolf notifications should be used. See note |
| subreddit | string | The subreddit to which the file will be shared |
| title | string | The shared video's title |
| description | string | The shared video's description |
| trimming (Optional) | VideoCompositionSegment | An object containing start time and end time for the desired VideoCompositionSegment |
| tags (Optional) | string | An array of chronological events that occurred during the capture |
| gameClassId (Optional) | int | The associated game's class ID |
| gameTitle (Optional) | string | The associated game's title |
| metadata (Optional) | object | Extra information about the game session |
| flair_id (Optional) | Flair object |
id note
When calling overwolf.social.reddit.shareEx(), it is required to supply it with a request ID. This ID will also be used in case you wish to cancel this share using overwolf.social.reddit.cancelShare().
useOverwolfNotifications note
When calling overwolf.social.reddit.share(), this will default to true.
When calling overwolf.social.reddit.shareEx(), this will default to false.
Data example
{
"file": "file://D:\\Videos\\Overwolf\\Outplayed\\League of Legends/League of Legends_8-16-2020_2-6-20-576\\League of Legends 08-16-2020_2-06-22-522.mp4",
"id": "5",
"useOverwolfNotifications": false,
"tags": [
"PvP Round"
],
"gameClassId": 5426,
"gameTitle": "League of Legends",
"title": "Check out my video! #TeamfightTactics | Captured by #Outplayed",
"subreddit": "clips",
"trimming": {
"startTime": 1136507,
"endTime": 1177391
},
"metadata": {
"mode": "tft"
}
}
SocialShareResult Object
Version added: 0.198
Container for the url shared in a successful share.
| Parameter | Type | Description |
|---|---|---|
| url | string | The url of the generated result |
Example data
{
"url": "https://v.redd.it/z08avb339n801/DASH_1_2_M"
}
SocialShareProgress Object
Version added: 0.198
The current progress of the share request
| Parameter | Type | Description |
|---|---|---|
| progress | int | The current precentage of upload progress |
| id | string | The id of the share request |
| state | ShareState | The current state of the share request |
Example data
{
"progress": 56,
"id": "1",
"state": "Uploading"
}
ShareState Enum
Version added: 0.198
The current state of the
overwolf.social.reddit.shareEx()operation.
| Options | Description |
|---|---|
| Started | The upload has started |
| Uploading | The upload is in progress |
| Finished | The upload has finished |
SearchSubredditsResult Object
Version added: 0.128
Container for search subreddits result.
| Parameter | Type | Description |
|---|---|---|
| subreddits | Subreddit[] |
Subreddit Object
Version added: 0.128
Container object.
| Parameter | Type | Description |
|---|---|---|
| subreddit | number | |
| name | string | |
| displayName | string | |
| allowedPostTypes | RedditAllowedPostTypes object | |
| communityIcon | number |
RedditAllowedPostTypes Object
Version added: 0.128
Container object.
| Parameter | Type | Description |
|---|---|---|
| images | boolean | |
| text | boolean | |
| videos | boolean | |
| links | boolean | |
| spoilers | boolean |
ShareFailedEvent Object
Version added: 0.128
Container object.
| Parameter | Type | Description |
|---|---|---|
| error | string | |
| details | string |
Event Data Example: Success
Currently, supported errors are:
{ "error": "NotFound", "details": "that subreddit doesn't exist" }
{ "error": "RateLimit", "details": "you are doing that too much. try again in 7 minutes." }
Flair Object
Version added: 0.160
Container object.
| Parameter | Type | Description |
|---|---|---|
| id | string | |
| text | string | |
| mod_only | boolean | |
| allowable_content | string |
Data Example
{
"id": "248a072-1e48-11e6-0e1648f491d1",
"text": "Highlight",
"mod_only": false,
"allowable_content": "all"
}