@steambrew/client
Version:
A support library for creating plugins with Millennium.
175 lines (166 loc) • 4.32 kB
text/typescript
import { Unregisterable } from "./shared";
export interface URL {
/**
* Executes a steam:// URL.
* @param url The URL to execute.
*/
ExecuteSteamURL(url: string): void;
/**
* @param urls Additional URLs to get. May be empty.
*/
GetSteamURLList(urls: SteamWebURL_t[]): Promise<SteamURLs>;
GetWebSessionID(): Promise<string>;
/**
* Registers a callback to be called when a steam:// URL gets executed.
* @param section `rungameid`, `open`, etc.
* @param callback The callback function to be called.
* @returns an object that can be used to unregister the callback.
*/
RegisterForRunSteamURL(section: string, callback: (param0: number, url: string) => void): Unregisterable;
RegisterForSteamURLChanges(callback: () => void): void;
}
export type SteamWebURL_t =
| "AllNotifications"
| "AppHoverPublic"
| "AppHoverPublicFull"
| "AppNewsPage"
| "AsyncGames"
| "AvatarBaseURL"
| "BaseURLSharedCDN"
| "Chat"
| "ChatRoot"
| "ClaimEntitlements"
| "ClanAssetCDN"
| "CommentNotifications"
| "CommunityHome"
| "CommunityAddFriends"
| "CommunityCDN"
| "CommunityFilePage"
| "CommunityFriendsThatPlay"
| "CommunityFrontPage"
| "CommunityGroupSearch"
| "CommunityImages"
| "CommunityInventory"
| "CommunityMarket"
| "CommunityMarketApp"
| "CommunityRecommendations"
| "CommunityScreenshots"
| "CommunitySingleScreenshot"
| "CurrentlyPlayedWith"
| "EventAnnouncementPage"
| "FamilyManagement"
| "FamilySharing"
| "GameHub"
| "GameHubBroadcasts"
| "GameHubDiscussions"
| "GameHubGuides"
| "GameHubNews"
| "GameHubReviews"
| "GlobalAchievementStatsPage"
| "GlobalLeaderboardsPage"
| "GroupSteamIDPage"
| "HardwareSurvey"
| "HelpAppPage"
| "HelpChangeEmail"
| "HelpChangePassword"
| "HelpFAQ"
| "HelpFrontPage"
| "HelpWithLogin"
| "HelpWithLoginInfo"
| "HelpWithSteamGuardCode"
| "HelpVacBans"
| "ItemStorePage"
| "ItemStoreDetailPage"
| "JoinTrade"
| "LegalInformation"
| "LibraryAppDetails"
| "LibraryAppReview"
| "LibraryFeaturedBroadcasts"
| "ManageGiftsPage"
| "ManageSteamGuard"
| "ModeratorMessages"
| "Mobile"
| "MyHelpRequests"
| "OfficialGameGroupPage"
| "NewsHomePage"
| "ParentalBlocked"
| "ParentalSetup"
| "PendingFriends"
| "PendingGift"
| "PointsShop"
| "PrivacyPolicy"
| "RecommendGame"
| "RedeemWalletVoucher"
| "RegisterKey"
| "RegisterKeyNoParams"
| "SSA"
| "SteamAnnouncements"
| "SteamClientBetaBugReports"
| "SteamClientBetaNewsPage"
| "SteamClientBetaNewsPageFancy"
| "SteamClientNewsPage"
| "SteamClientPatchNotes"
| "SteamClientBetaPatchNotes"
| "SteamDiscussions"
| "SteamIDAchievementsPage"
| "SteamIDAppTradingCardsPage"
| "SteamIDBadgeInfo"
| "SteamIDBadgePage"
| "SteamIDBroadcastPage"
| "SteamIDEditPage"
| "SteamIDEditPrivacyPage"
| "SteamIDFriendsList"
| "SteamIDFriendsPage"
| "SteamIDGroupsPage"
| "SteamIDMyProfile"
| "SteamIDPage"
| "SteamLanguage"
| "SteamPreferences"
| "SteamVRHMDHelp"
| "SteamWorkshop"
| "SteamWorkshopPage"
| "SteamWorkshopSubscriptions"
| "SteamWorkshopUpdatedSubscriptions"
| "StoreAccount"
| "StoreAddFundsPage"
| "StoreAppHover"
| "StoreAppImages"
| "StoreAppPage"
| "StoreAppPageAddToCart"
| "StoreCart"
| "StoreCDN"
| "StoreDlcPage"
| "StoreExplore"
| "StoreExploreNew"
| "StoreFreeToPlay"
| "StoreFrontPage"
| "StoreGameSearchPage"
| "StoreGreatOnDeck"
| "StorePublisherPage"
| "StoreSpecials"
| "StoreStats"
| "StoreVR"
| "StoreWebMicroTxnPage"
| "SupportMessages"
| "TextFilterSettings"
| "TodayPage"
| "TradeOffers"
| "VideoCDN"
| "UserAchievementsPage"
| "UserLeaderboardsPage"
| "UserStatsPage"
| "UserWishlist"
| "WatchVideo"
| "WebAPI"
| "WorkshopEula"
| "YearInReview";
export interface SteamURL {
url: string;
/**
* @todo enum?
*/
feature: number;
}
export type SteamURLs = {
[url in SteamWebURL_t]: SteamURL;
}