@steambrew/client
Version:
A support library for creating plugins with Millennium.
271 lines (270 loc) • 8.49 kB
TypeScript
import { JsPbMessage, Unregisterable } from './shared';
/**
* Everything is taken from here:
* https://github.com/SteamDatabase/SteamTracking/blob/master/Protobufs/steammessages_clientnotificationtypes.proto
*/
export interface Notifications {
/**
* If `data` is deserialized, returns one of the following here: {@link Notifications}
* @returns an object that can be used to unregister the callback.
*/
RegisterForNotifications(callback: (notificationIndex: number, type: EClientNotificationType, data: ArrayBuffer) => void): Unregisterable;
}
export declare enum EClientNotificationType {
Invalid = 0,
DownloadComplete = 1,
FriendInvite = 2,
FriendInGame = 3,
FriendOnline = 4,
Achievement = 5,
LowBattery = 6,
SystemUpdate = 7,
FriendMessage = 8,
GroupChatMessage = 9,
FriendInviteRollup = 10,
FamilySharingDeviceAuthorizationChanged = 11,
FamilySharingStopPlaying = 12,
FamilySharingLibraryAvailable = 13,
Screenshot = 14,
CloudSyncFailure = 15,
CloudSyncConflict = 16,
IncomingVoiceChat = 17,
ClaimSteamDeckRewards = 18,
GiftReceived = 19,
ItemAnnouncement = 20,
HardwareSurvey = 21,
LowDiskSpace = 22,
BatteryTemperature = 23,
DockUnsupportedFirmware = 24,
PeerContentUpload = 25,
CannotReadControllerGuideButton = 26,
Comment = 27,
Wishlist = 28,
TradeOffer = 29,
AsyncGame = 30,
General = 31,
HelpRequest = 32,
OverlaySplashScreen = 33,
BroadcastAvailableToWatch = 34,
TimedTrialRemaining = 35,
LoginRefresh = 36,
MajorSale = 37,
TimerExpired = 38,
ModeratorMsg = 39,
SteamInputActionSetChanged = 40,
RemoteClientConnection = 41,
RemoteClientStartStream = 42,
StreamingClientConnection = 43,
FamilyInvite = 44,
PlaytimeWarning = 45,
FamilyPurchaseRequest = 46,
FamilyPurchaseRequestResponse = 47,
ParentalFeatureRequest = 48,
ParentalPlaytimeRequest = 49,
GameRecordingError = 50,
ParentalFeatureResponse = 51,
ParentalPlaytimeResponse = 52,
RequestedGameAdded = 53,
ClipDownloaded = 54,
GameRecordingStart = 55,
GameRecordingStop = 56,
GameRecordingUserMarkerAdded = 57,
GameRecordingInstantClip = 58
}
export declare enum ESystemUpdateNotificationType {
Invalid = 0,
Available = 1,
NeedsRestart = 2
}
export declare enum EGameRecordingErrorType {
General = 1,
LowDiskSpace = 2
}
export interface ClientNotificationGroupChatMessage extends JsPbMessage {
tag(): string;
/** A Steam64 ID. */
steamid_sender(): string;
chat_group_id(): string;
chat_id(): string;
title(): string;
body(): string;
rawbody(): string;
icon(): string;
notificationid(): number;
}
export interface ClientNotificationFriendMessage extends JsPbMessage {
body(): string;
icon(): string;
notificationid(): number;
response_steamurl(): string;
/** A Steam64 ID. */
steamid(): string;
tag(): string;
title(): string;
}
export interface ClientNotificationCloudSyncFailure extends JsPbMessage {
appid(): number;
}
export interface ClientNotificationCloudSyncConflict extends JsPbMessage {
appid(): number;
}
export interface ClientNotificationScreenshot extends JsPbMessage {
screenshot_handle(): string;
description(): string;
local_url(): string;
}
export interface ClientNotificationDownloadCompleted extends JsPbMessage {
appid(): number;
dlc_appid(): number;
}
export interface ClientNotificationFriendInvite extends JsPbMessage {
steamid(): number;
}
export interface ClientNotificationFriendInviteRollup extends JsPbMessage {
new_invite_count(): number;
}
export interface ClientNotificationFriendInGame extends JsPbMessage {
steamid(): number;
game_name(): string;
}
export interface ClientNotificationFriendOnline extends JsPbMessage {
steamid(): number;
}
export interface ClientNotificationAchievement extends JsPbMessage {
achievement_id(): string;
appid(): number;
name(): string;
description(): string;
image_url(): string;
achieved(): boolean;
rtime_unlocked(): number;
min_progress(): number;
current_progress(): number;
max_progress(): number;
global_achieved_pct(): number;
}
export interface ClientNotificationLowBattery extends JsPbMessage {
pct_remaining(): number;
}
export interface ClientNotificationSystemUpdate extends JsPbMessage {
type(): ESystemUpdateNotificationType;
}
export interface ClientNotificationFriendMessage extends JsPbMessage {
tag(): string;
steamid(): string;
title(): string;
body(): string;
icon(): string;
notificationid(): number;
response_steamurl(): string;
}
export interface ClientNotificationGroupChatMessage extends JsPbMessage {
tag(): string;
steamid_sender(): string;
chat_group_id(): string;
chat_id(): string;
title(): string;
body(): string;
rawbody(): string;
icon(): string;
notificationid(): number;
}
export interface ClientNotificationFamilySharingDeviceAuthorizationChanged extends JsPbMessage {
accountid_owner(): number;
authorized(): boolean;
}
export interface ClientNotificationFamilySharingStopPlaying extends JsPbMessage {
accountid_owner(): number;
seconds_remaining(): number;
appid(): number;
}
export interface ClientNotificationFamilySharingLibraryAvailable extends JsPbMessage {
accountid_owner(): number;
}
export interface ClientNotificationIncomingVoiceChat extends JsPbMessage {
steamid(): number;
}
export interface ClientNotificationClaimSteamDeckRewards extends JsPbMessage {
}
export interface ClientNotificationGiftReceived extends JsPbMessage {
sender_name(): string;
}
export interface ClientNotificationItemAnnouncement extends JsPbMessage {
new_item_count(): number;
new_backpack_items(): boolean;
}
export interface ClientNotificationHardwareSurveyPending extends JsPbMessage {
}
export interface ClientNotificationLowDiskSpace extends JsPbMessage {
folder_index(): number;
}
export interface ClientNotificationBatteryTemperature extends JsPbMessage {
temperature(): number;
notification_type(): string;
}
export interface ClientNotificationDockUnsupportedFirmware extends JsPbMessage {
}
export interface ClientNotificationPeerContentUpload extends JsPbMessage {
appid(): number;
peer_name(): string;
}
export interface ClientNotificationCannotReadControllerGuideButton extends JsPbMessage {
controller_index(): number;
}
export interface ClientNotificationOverlaySplashScreen extends JsPbMessage {
}
export interface ClientNotificationBroadcastAvailableToWatch extends JsPbMessage {
broadcast_permission(): number;
}
export interface ClientNotificationTimedTrialRemaining extends JsPbMessage {
appid(): number;
icon(): string;
offline(): boolean;
allowed_seconds(): number;
played_seconds(): number;
}
export interface ClientNotificationLoginRefresh extends JsPbMessage {
}
export interface ClientNotificationTimerExpired extends JsPbMessage {
}
export interface ClientNotificationSteamInputActionSetChanged extends JsPbMessage {
controller_index(): number;
action_set_name(): string;
}
export interface ClientNotificationRemoteClientConnection extends JsPbMessage {
machine(): string;
connected(): boolean;
}
export interface ClientNotificationRemoteClientStartStream extends JsPbMessage {
machine(): string;
game_name(): string;
}
export interface ClientNotificationStreamingClientConnection extends JsPbMessage {
hostname(): string;
machine(): string;
connected(): boolean;
}
export interface ClientNotificationPlaytimeWarning extends JsPbMessage {
type(): string;
playtime_remaining(): number;
}
export interface ClientNotificationGameRecordingError extends JsPbMessage {
game_id(): number;
error_type(): EGameRecordingErrorType;
}
export interface ClientNotificationGameRecordingStart extends JsPbMessage {
game_id(): number;
}
export interface ClientNotificationGameRecordingStop extends JsPbMessage {
game_id(): number;
clip_id(): string;
duration_secs(): number;
}
export interface ClientNotificationGameRecordingUserMarkerAdded extends JsPbMessage {
game_id(): number;
}
export interface CClientNotificationGameRecordingInstantClip extends JsPbMessage {
game_id(): number;
clip_id(): string;
duration_secs(): number;
}