{"id":35913553,"url":"https://github.com/pawannn/logifly","last_synced_at":"2026-01-20T17:00:56.669Z","repository":{"id":322799571,"uuid":"1090960028","full_name":"pawannn/logifly","owner":"pawannn","description":"Multi-platform notification SDK for Discord, Slack, and more. Send messages with a unified API.","archived":false,"fork":false,"pushed_at":"2025-11-15T12:04:33.000Z","size":33,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-15T12:36:38.100Z","etag":null,"topics":["alerts","discord","logs","messaging","multi-platform","nodejs","notifications","sdk","slack","typescript","webhook"],"latest_commit_sha":null,"homepage":"https://npmjs.com/package/logifly","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pawannn.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-06T11:18:47.000Z","updated_at":"2025-11-15T12:04:36.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/pawannn/logifly","commit_stats":null,"previous_names":["pawannn/notifly"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pawannn/logifly","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pawannn%2Flogifly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pawannn%2Flogifly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pawannn%2Flogifly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pawannn%2Flogifly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pawannn","download_url":"https://codeload.github.com/pawannn/logifly/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pawannn%2Flogifly/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28607624,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T16:10:39.856Z","status":"ssl_error","status_checked_at":"2026-01-20T16:10:39.493Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alerts","discord","logs","messaging","multi-platform","nodejs","notifications","sdk","slack","typescript","webhook"],"created_at":"2026-01-10T03:53:47.800Z","updated_at":"2026-01-20T17:00:56.662Z","avatar_url":"https://github.com/pawannn.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Logifly\n\n\u003e Multi-platform notification SDK. Send messages to Discord, Slack, and more with a unified API.\n\n\n[![npm version](https://img.shields.io/npm/v/notifly.svg)](https://www.npmjs.com/package/logifly)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n\n\n## Installation\n\n```bash\nnpm install logifly\n```\n\n## Quick Start\n\n```javascript\nimport logifly from 'logifly';\n\n// Discord\nconst discord = logifly.newDiscordClient({\n  webhookUrl: 'YOUR_DISCORD_WEBHOOK_URL'\n});\n\n// Slack\nconst slack = logifly.newSlackClient({\n  webhookUrl: 'YOUR_SLACK_WEBHOOK_URL'\n});\n\n// Send messages\nawait discord.send('Hello Discord! 🚀');\nawait slack.send('Hello Slack! 👋');\n```\n\n## Platforms\n\n### Discord\n\n```javascript\nconst discord = logifly.newDiscordClient({\n  webhookUrl: 'https://discord.com/api/webhooks/...',\n  username: 'My Bot',           // Optional\n  avatarUrl: 'https://...',     // Optional\n  defaultColor: 0x00ff00        // Optional\n});\n```\n\n### Slack\n\n```javascript\nconst slack = logifly.newSlackClient({\n  webhookUrl: 'https://hooks.slack.com/services/...',\n  username: 'My Bot',           // Optional\n  iconEmoji: ':robot_face:',    // Optional\n  channel: '#alerts'            // Optional\n});\n```\n\n## Send Messages\n\n### Simple Text\n\n```javascript\nawait discord.send('Server is running');\nawait slack.send('Deployment started');\n```\n\n### Status Messages\n\n```javascript\n// Success (Green)\nawait discord.sendSuccess('Deployment Complete', 'Version 2.0 is live');\nawait slack.sendSuccess('Build Passed', 'All tests passed');\n\n// Error (Red)\nawait discord.sendError('Build Failed', 'Tests failed on line 42');\nawait slack.sendError('Database Error', 'Connection timeout');\n\n// Warning (Yellow)\nawait discord.sendWarning('High Memory', 'Usage at 85%');\nawait slack.sendWarning('API Slow', 'Response time \u003e 2s');\n\n// Info (Blue)\nawait discord.sendInfo('Maintenance', 'Scheduled in 1 hour');\nawait slack.sendInfo('New Release', 'Version 3.0 available');\n```\n\n### Rich Embeds\n\n```javascript\nawait discord.sendEmbed({\n  title: '📊 System Report',\n  description: 'Daily metrics',\n  color: 0x3498db,\n  fields: [\n    { name: 'Uptime', value: '99.9%', inline: true },\n    { name: 'Requests', value: '1.2M', inline: true },\n    { name: 'Errors', value: '23', inline: true }\n  ]\n});\n\nawait slack.sendEmbed({\n  title: '📊 System Report',\n  description: 'Daily metrics',\n  color: 0x3498db,\n  fields: [\n    { name: 'Uptime', value: '99.9%', inline: true },\n    { name: 'Requests', value: '1.2M', inline: true }\n  ]\n});\n```\n\n## Broadcast Groups\n\nSend to multiple platforms or channels at once:\n\n```javascript\n// Create clients\nconst discordAlerts = logifly.newDiscordClient({ webhookUrl: 'DISCORD_URL_1' });\nconst discordLogs = logifly.newDiscordClient({ webhookUrl: 'DISCORD_URL_2' });\nconst slackTeam = logifly.newSlackClient({ webhookUrl: 'SLACK_URL' });\n\n// Group them\nconst group = logifly.createGroup('critical-alerts', [\n  discordAlerts,\n  discordLogs,\n  slackTeam\n]);\n\n// Broadcast to all\nawait group.broadcast('🚨 Server down!');\nawait group.broadcastSuccess('Deploy Complete', 'All systems go');\nawait group.broadcastError('Database Failure', 'Unable to connect');\n```\n\n### Manage Groups\n\n```javascript\n// Add more clients\ngroup.addClient(anotherClient, 'optional-alias');\n\n// List clients\nconsole.log(group.listClients());\n// [{ alias: 'client_1', platform: 'discord' }, ...]\n\n// Remove client\ngroup.removeClient('client_1');\n\n// Get group by name\nconst myGroup = logifly.getGroup('critical-alerts');\n\n// List all groups\nconsole.log(logifly.listGroups());\n// ['critical-alerts', 'logs', ...]\n\n// Delete group\nlogifly.deleteGroup('critical-alerts');\n```\n\n## API Reference\n\n### Client Methods\n\n| Method | Description |\n|--------|-------------|\n| `send(message)` | Send simple text message |\n| `sendSuccess(title, desc)` | Send success message (green) |\n| `sendError(title, desc)` | Send error message (red) |\n| `sendWarning(title, desc)` | Send warning message (yellow) |\n| `sendInfo(title, desc)` | Send info message (blue) |\n| `sendEmbed(options)` | Send rich formatted message |\n| `testConnection()` | Test webhook connection |\n\n### Group Methods\n\n| Method | Description |\n|--------|-------------|\n| `broadcast(message)` | Send to all clients in group |\n| `broadcastSuccess(title, desc)` | Send success to all |\n| `broadcastError(title, desc)` | Send error to all |\n| `broadcastWarning(title, desc)` | Send warning to all |\n| `broadcastInfo(title, desc)` | Send info to all |\n| `broadcastEmbed(options)` | Send embed to all |\n| `addClient(client, alias?)` | Add client to group |\n| `removeClient(alias)` | Remove client from group |\n| `listClients()` | List all clients |\n| `size()` | Get client count |\n| `testConnections()` | Test all connections |\n\n### SDK Methods\n\n| Method | Description |\n|--------|-------------|\n| `newDiscordClient(config)` | Create Discord client |\n| `newSlackClient(config)` | Create Slack client |\n| `createGroup(name, clients?)` | Create broadcast group |\n| `getGroup(name)` | Get existing group |\n| `listGroups()` | List all groups |\n| `deleteGroup(name)` | Delete a group |\n| `getVersion()` | Get SDK version |\n\n## Real-World Examples\n\n### Server Monitoring\n\n```javascript\nconst monitor = logifly.newDiscordClient({ \n  webhookUrl: process.env.DISCORD_WEBHOOK \n});\n\nif (cpuUsage \u003e 80) {\n  await monitor.sendWarning('High CPU', `Usage: ${cpuUsage}%`);\n}\n```\n\n### Multi-Platform Alerts\n\n```javascript\nconst alerts = logifly.createGroup('production-alerts', [\n  logifly.newDiscordClient({ webhookUrl: process.env.DISCORD_WEBHOOK }),\n  logifly.newSlackClient({ webhookUrl: process.env.SLACK_WEBHOOK })\n]);\n\nawait alerts.broadcastError('API Down', 'Health check failed');\n```\n\n### CI/CD Pipeline\n\n```javascript\nconst deploy = logifly.newSlackClient({ \n  webhookUrl: process.env.SLACK_WEBHOOK \n});\n\nawait deploy.sendInfo('Deploy Started', 'Building v2.1.0');\n\ntry {\n  // deployment logic\n  await deploy.sendSuccess('Deploy Complete', 'v2.1.0 is live! 🎉');\n} catch (error) {\n  await deploy.sendError('Deploy Failed', error.message);\n}\n```\n\n## Environment Variables\n\n```bash\n# .env\nDISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/...\nSLACK_WEBHOOK_URL=https://hooks.slack.com/services/...\n```\n\n```javascript\nimport logifly from 'logifly';\n\nconst discord = logifly.newDiscordClient({\n  webhookUrl: process.env.DISCORD_WEBHOOK_URL\n});\n\nconst slack = logifly.newSlackClient({\n  webhookUrl: process.env.SLACK_WEBHOOK_URL\n});\n```\n\n## Error Handling\n\n```javascript\ntry {\n  await discord.send('Hello');\n} catch (error) {\n  console.error('Failed:', error.message);\n  \n  if (error.code === 'CONFIGURATION_ERROR') {\n    // Invalid configuration\n  } else if (error.code === 'MESSAGE_SEND_ERROR') {\n    // Network or API error\n  }\n}\n```\n\n## Platform Support\n\n| Platform | Status |\n|----------|--------|\n| Discord | ✅ Available |\n| Slack | ✅ Available |\n| Microsoft Teams | 🔜 Coming Soon |\n| Telegram | 🔜 Coming Soon |\n| Email | 🔜 Coming Soon |\n| SMS (Twilio) | 🔜 Coming Soon |\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nMIT © Pawan Kalyan\n\n---\n\n**[GitHub](https://github.com/pawannn/logifly)** • **[npm](https://www.npmjs.com/package/logifly)** • **[Issues](https://github.com/pawannn/logifly/issues)**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpawannn%2Flogifly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpawannn%2Flogifly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpawannn%2Flogifly/lists"}