webpresence
Version:
Discord Rich Presence for websites - Show your browsing activity in Discord
153 lines (149 loc) • 4.58 kB
TypeScript
import { startServer, stopServer, isServerRunning, getServerStatus, togglePresence, updatePreferences } from './index.js';
export { config } from './index.js';
/**
* WebPresence API
*
* This file exports the public API for the WebPresence package.
*/
type UserPreferences = {
prefixText: string;
disabledSites: string[];
alwaysEnabledSites: string[];
continuousTimer: boolean;
};
type ServerConfig = {
port: number;
activityTimeout: number;
inactiveCheckInterval: number;
};
type DiscordConfig = {
clientId: string;
reconnectAttempts: number;
maxReconnectAttempts: number;
};
type PresenceConfig = {
enabled: boolean;
defaultPrefix: string;
creditText: string;
buttons: Array<{
label: string;
url: string;
}>;
largeImageKey: string;
smallImageKey: string;
smallImageText: string;
};
declare const _default: {
startServer: typeof startServer;
stopServer: typeof stopServer;
isServerRunning: typeof isServerRunning;
getServerStatus: typeof getServerStatus;
togglePresence: typeof togglePresence;
updatePreferences: typeof updatePreferences;
config: {
get: () => {
userPreferences: {
prefixText: string;
disabledSites: string[];
alwaysEnabledSites: string[];
continuousTimer: boolean;
};
discord: {
clientId: string;
reconnectAttempts: number;
maxReconnectAttempts: number;
};
server: {
port: number;
activityTimeout: number;
inactiveCheckInterval: number;
};
presence: {
enabled: boolean;
defaultPrefix: string;
creditText: string;
buttons: {
label: string;
url: string;
}[];
largeImageKey: string;
smallImageKey: string;
smallImageText: string;
browserIcons: {
chrome: {
iconKey: string;
text: string;
};
firefox: {
iconKey: string;
text: string;
};
default: {
iconKey: string;
text: string;
};
};
};
};
getDiscord: () => {
clientId: string;
reconnectAttempts: number;
maxReconnectAttempts: number;
};
getServer: () => {
port: number;
activityTimeout: number;
inactiveCheckInterval: number;
};
getPresence: () => {
enabled: boolean;
defaultPrefix: string;
creditText: string;
buttons: {
label: string;
url: string;
}[];
largeImageKey: string;
smallImageKey: string;
smallImageText: string;
browserIcons: {
chrome: {
iconKey: string;
text: string;
};
firefox: {
iconKey: string;
text: string;
};
default: {
iconKey: string;
text: string;
};
};
};
getUserPreferences: () => {
prefixText: string;
disabledSites: string[];
alwaysEnabledSites: string[];
continuousTimer: boolean;
};
updateUserPreferences: (preferences: Partial<{
prefixText: string;
disabledSites: string[];
alwaysEnabledSites: string[];
continuousTimer: boolean;
}>) => {
prefixText: string;
disabledSites: string[];
alwaysEnabledSites: string[];
continuousTimer: boolean;
};
resetUserPreferences: () => {
prefixText: string;
disabledSites: string[];
alwaysEnabledSites: string[];
continuousTimer: boolean;
};
};
};
export { type DiscordConfig, type PresenceConfig, type ServerConfig, type UserPreferences, _default as default, getServerStatus, isServerRunning, startServer, stopServer, togglePresence, updatePreferences };