{"id":26301813,"url":"https://github.com/baargava/slack-chatbot","last_synced_at":"2026-05-19T11:06:50.232Z","repository":{"id":278325230,"uuid":"935244371","full_name":"baargava/Slack-Chatbot","owner":"baargava","description":"A Node Js Chatbot for Slack","archived":false,"fork":false,"pushed_at":"2025-02-19T06:24:04.000Z","size":56,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-19T07:25:55.495Z","etag":null,"topics":["chatbot","nodejs","slack-bot","slackchat"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/baargava.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2025-02-19T06:13:28.000Z","updated_at":"2025-02-19T06:28:16.000Z","dependencies_parsed_at":"2025-02-19T07:36:15.509Z","dependency_job_id":null,"html_url":"https://github.com/baargava/Slack-Chatbot","commit_stats":null,"previous_names":["baargava/slack-chatbot"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baargava%2FSlack-Chatbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baargava%2FSlack-Chatbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baargava%2FSlack-Chatbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baargava%2FSlack-Chatbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/baargava","download_url":"https://codeload.github.com/baargava/Slack-Chatbot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243695557,"owners_count":20332629,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["chatbot","nodejs","slack-bot","slackchat"],"created_at":"2025-03-15T07:16:56.942Z","updated_at":"2026-05-19T11:06:50.158Z","avatar_url":"https://github.com/baargava.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Slack Bot for PDF to PPTX Conversion \u0026 GIF Search\n\nThis Slack bot enables users to convert PDF files to PPTX using ConvertAPI and fetch GIFs using the Tenor API. The bot is built using the Slack Bolt framework and operates in Socket Mode with ngrok for reverse proxy.\n\n## Features\n- Convert uploaded PDF files or URLs to PPTX and upload them to Slack.\n- Fetch GIFs from the Tenor API based on user queries.\n- Test bot functionality using `/testbot`.\n- Uses ngrok for reverse proxy to run locally.\n\n## Prerequisites\n- Node.js (v14 or later)\n- Ngrok (for reverse proxy)\n- A Slack workspace and a Slack bot with necessary permissions\n- ConvertAPI account for PDF to PPTX conversion\n- Tenor API key for GIF search\n\n## Installation\n1. Clone this repository:\n   ```sh\n   git clone \u003crepository_url\u003e\n   cd \u003cproject_directory\u003e\n   ```\n2. Install dependencies:\n   ```sh\n   npm install\n   ```\n3. Create a `.env` file in the root directory and add the following:\n   ```env\n   SLACK_BOT_TOKEN=your_slack_bot_token\n   SLACK_SIGNING_SECRET=your_slack_signing_secret\n   SLACK_APP_TOKEN=your_slack_app_token\n   CONVERTAPI_SECRET=your_convertapi_secret\n   TENOR_API_KEY=your_tenor_api_key\n   ```\n4. Start ngrok for reverse proxy:\n   ```sh\n   ngrok http 3000\n   ```\n   Copy the HTTPS URL provided by ngrok and update your Slack app settings under \"Event Subscriptions\" and \"Interactivity \u0026 Shortcuts\".\n\n## Usage\n### Slack Commands\n- `/convertpdf \u003cpdf_url\u003e` - Converts a PDF from a URL to PPTX and uploads it to Slack.\n- `/creategif \u003csearch_query\u003e` - Searches for a GIF using the Tenor API and posts it in Slack.\n- `/testbot` - Tests if the bot is active and responding.\n\n### Automatic PDF Processing\n- Upload a PDF file to a Slack channel and include the phrase `convert to pptx` in the message. The bot will process and upload the converted PPTX file.\n\n## Error Handling\n- The bot logs errors and provides messages in Slack if conversions or API calls fail.\n\n## Running the Bot\nStart the bot using:\n```sh\nnode index.js\n```\nEnsure ngrok is running, and the Slack bot is configured to use the correct ngrok URL.\n\n## License\nThis project is open-source and available for modification and distribution under the MIT License.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaargava%2Fslack-chatbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbaargava%2Fslack-chatbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaargava%2Fslack-chatbot/lists"}