{"_id":"@ayracordjs/ws","_rev":"1-4858bbda9cd43218e59743764c5f844c","name":"@ayracordjs/ws","dist-tags":{"latest":"1.4.2"},"versions":{"1.4.1":{"name":"@ayracordjs/ws","version":"1.4.1","_id":"@ayracordjs/ws@1.4.1","maintainers":[{"name":"ayrarich","email":"tymararich@gmail.com"}],"dist":{"shasum":"f5b6c7fe0b3580b4ef1d5dcd9725e576a43c930e","tarball":"https://registry.npmjs.org/@ayracordjs/ws/-/ws-1.4.1.tgz","fileCount":13,"integrity":"sha512-wn5XZznMWIfD5CzV92/9GuNhmore3Vv93blaBIFkFiTsR9C1j6IkBUQxNDFLq6Jeu2yuETNVAUq2hpJXdgBDjg==","signatures":[{"sig":"MEYCIQCgE/9TXXimiWsi8mr+PBtjLS6+Y2D5+TOetAtIUqD21gIhAIUw2X7+Lg8VjSYsOzssvci60nN4SYiQQINYLzFdFBPU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7425},"types":"./index.d.ts","_npmUser":{"name":"ayrarich","email":"tymararich@gmail.com"},"_npmVersion":"10.7.0","description":"WebSocket for ayracordjs","directories":{},"_nodeVersion":"20.15.0","dependencies":{"ws":"^8.18.0","axios":"^1.7.7","typescript":"^5.6.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ws_1.4.1_1726670682364_0.2879069528460012","host":"s3://npm-registry-packages"}},"1.4.2":{"name":"@ayracordjs/ws","description":"WebSocket for ayracordjs","version":"1.4.2","dependencies":{"axios":"^1.7.7","typescript":"^5.6.2","ws":"^8.18.0"},"publishConfig":{"access":"public"},"_id":"@ayracordjs/ws@1.4.2","types":"./index.d.ts","_nodeVersion":"20.15.0","_npmVersion":"10.7.0","dist":{"integrity":"sha512-NUco1hMeVJYnhDAiQLssAbcnBdKa8K+sz8pbJdOc682rA25VRKKin7Wlbtl6esqCYgqCHN1AalWuKiiBetH1Cg==","shasum":"b8ceae506e98502266969b8daabeeab61bc5845f","tarball":"https://registry.npmjs.org/@ayracordjs/ws/-/ws-1.4.2.tgz","fileCount":15,"unpackedSize":12283,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCQJ6g0DIXmIlbQ0hZN3x3DaQohwI4pADrKfxKtZzInwQIhANmPDVInuY95VwJMXd8FOQ3Zj/TzIiSJUtnOUgxa79li"}]},"_npmUser":{"name":"ayrarich","email":"tymararich@gmail.com"},"directories":{},"maintainers":[{"name":"ayrarich","email":"tymararich@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ws_1.4.2_1726670947964_0.35383233630347344"},"_hasShrinkwrap":false}},"time":{"created":"2024-09-18T14:44:42.265Z","modified":"2024-09-18T14:49:08.370Z","1.4.1":"2024-09-18T14:44:42.523Z","1.4.2":"2024-09-18T14:49:08.120Z"},"description":"WebSocket for ayracordjs","maintainers":[{"name":"ayrarich","email":"tymararich@gmail.com"}],"readme":"Вот пример файла `README.md` для библиотеки `@ayracordjs/ws`, который объясняет, как использовать библиотеку для работы с WebSocket, Discord API и HTTPS-клиентом:\r\n\r\n---\r\n\r\n# @ayracordjs/ws\r\n\r\nA lightweight WebSocket library designed for Discord API integration, with built-in HTTPS client support for making API requests. This library is ideal for building Discord bots or other real-time applications using WebSocket.\r\n\r\n## Features\r\n\r\n- **WebSocket Client**: Simple interface for connecting to WebSocket servers (such as Discord Gateway).\r\n- **HTTP Client**: Lightweight HTTP client for making API requests to Discord and other HTTP-based services.\r\n- **Discord API Integration**: Preconfigured methods for interacting with Discord's API (send messages, manage channels, etc.).\r\n\r\n## Installation\r\n\r\nTo install the package, run the following command:\r\n\r\n```bash\r\nnpm install @ayracordjs/ws\r\n```\r\n\r\n## Usage\r\n\r\n### 1. WebSocket Client\r\n\r\nYou can use the `WebSocketClient` class to establish a WebSocket connection and listen for events.\r\n\r\n```javascript\r\nimport { WebSocketClient } from '@ayracordjs/ws';\r\n\r\nconst ws = new WebSocketClient('wss://gateway.discord.gg');\r\n\r\n// Connect to the WebSocket\r\nws.connect();\r\n\r\n// Listen for messages\r\nws.onMessage((message) => {\r\n    console.log('Received message:', message);\r\n});\r\n\r\n// Send a message\r\nws.send(JSON.stringify({ op: 1, d: null }));\r\n```\r\n\r\n### 2. HTTP Client\r\n\r\nThe `HttpClient` class can be used to make HTTP requests to Discord's REST API or any other API.\r\n\r\n```javascript\r\nimport { HttpClient } from '@ayracordjs/ws';\r\n\r\nconst http = new HttpClient('https://discord.com/api/v10');\r\n\r\n// Make a GET request\r\nhttp.get('/users/@me', { Authorization: `Bot YOUR_BOT_TOKEN` })\r\n    .then(response => {\r\n        console.log('User data:', response);\r\n    })\r\n    .catch(error => {\r\n        console.error('Error:', error);\r\n    });\r\n```\r\n\r\n### 3. Discord API\r\n\r\nThe `DiscordAPI` class provides an easy way to interact with Discord's API for common operations such as sending messages or managing channels.\r\n\r\n```javascript\r\nimport { DiscordAPI } from '@ayracordjs/ws';\r\n\r\nconst discordApi = new DiscordAPI('https://discord.com/api/v10', 5000, 'YOUR_BOT_TOKEN');\r\n\r\n// Send a message to a specific channel\r\ndiscordApi.sendMessage('CHANNEL_ID', 'Hello, Discord!')\r\n    .then(() => {\r\n        console.log('Message sent!');\r\n    })\r\n    .catch(error => {\r\n        console.error('Failed to send message:', error);\r\n    });\r\n```\r\n\r\n## API Reference\r\n\r\n### WebSocketClient\r\n\r\n- **constructor(url: string)**: Creates a new WebSocket client instance.\r\n- **connect(): Promise<void>**: Connects to the WebSocket server.\r\n- **onMessage(callback: (message: string) => void): void**: Listens for incoming WebSocket messages.\r\n- **send(data: string): void**: Sends data to the WebSocket server.\r\n\r\n### HttpClient\r\n\r\n- **constructor(baseURL: string, timeout: number = 5000)**: Creates a new HTTP client instance.\r\n- **get(endpoint: string, headers: object): Promise<any>**: Sends a GET request.\r\n- **post(endpoint: string, body: object, headers: object): Promise<any>**: Sends a POST request.\r\n\r\n### DiscordAPI\r\n\r\n- **constructor(baseURL: string, timeout: number, token: string)**: Initializes the Discord API client.\r\n- **sendMessage(channelId: string, message: string): Promise<void>**: Sends a message to a Discord channel.\r\n\r\n## Contributing\r\n\r\nFeel free to submit issues, fork the repository, and send pull requests.\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License. See the `LICENSE` file for more information.\r\n\r\n---\r\n\r\n### Note:\r\nBe sure to update information such as `YOUR_BOT_TOKEN`, `CHANNEL_ID`, and any other parameters with real data.`","readmeFilename":"README.md"}