{"id":29029435,"url":"https://github.com/upstash/upsy","last_synced_at":"2025-06-26T08:07:01.478Z","repository":{"id":218833670,"uuid":"743847265","full_name":"upstash/upsy","owner":"upstash","description":"Your new mate on Discord and Slack. Powered by AI.","archived":false,"fork":false,"pushed_at":"2024-09-21T00:33:41.000Z","size":19978,"stargazers_count":200,"open_issues_count":1,"forks_count":19,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-20T13:04:34.713Z","etag":null,"topics":["ai","chatbots","rag","vector-database"],"latest_commit_sha":null,"homepage":"https://upsy.fly.dev","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/upstash.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}},"created_at":"2024-01-16T05:42:25.000Z","updated_at":"2025-06-01T00:27:13.000Z","dependencies_parsed_at":"2024-02-22T00:24:10.305Z","dependency_job_id":"7d16d189-4dcf-4362-a979-f394753107cc","html_url":"https://github.com/upstash/upsy","commit_stats":null,"previous_names":["upstash/upsy"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/upstash/upsy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upstash%2Fupsy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upstash%2Fupsy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upstash%2Fupsy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upstash%2Fupsy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/upstash","download_url":"https://codeload.github.com/upstash/upsy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upstash%2Fupsy/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262026962,"owners_count":23246955,"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":["ai","chatbots","rag","vector-database"],"created_at":"2025-06-26T08:07:00.810Z","updated_at":"2025-06-26T08:07:01.467Z","avatar_url":"https://github.com/upstash.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"./static/upsy-logo.svg\" height=\"52\"\u003e\n\n# Upsy: Your new mate on Discord \u0026 Slack. Powered by AI.\n\n\u003e [!NOTE]  \n\u003e **This project is a Community Project.**\n\u003e\n\u003e The project is maintained and supported by the community. Upstash may contribute but does not officially support or assume responsibility for it.\n\nUpsy is an open source Discord \u0026 Slack bot that provides **fast, accurate answers whenever you have a question**. \n\n## How to use it?\n\n- Mention Upsy in a question within a channel, and Upsy will respond in a thread.\n\n- If someone asks a question in a channel, react with a ❓ or 🤔 emoji. Upsy will then create a thread and give an answer.\n\n- Ask Upsy questions directly in DM for immediate responses.\n\n- Teach Upsy new information by sending messages or uploading documents in DM. \n\n\nhttps://github.com/user-attachments/assets/7ae088d2-ba57-4ab5-9839-f14cb7d08604\n\n\n## Discord Setup\n\n### Create a Discord Application\n\nCreate an application at “https://discord.com/developers/applications\".\n\n### Privileged Gateway Intents\n\nTo enable the bot to access the message history, you need to enable the `Privileged Gateway Intents`. Go to the `Bot` section of your Discord application and enable the `MESSAGE CONTENT INTENT ` and `SERVER MEMBERS INTENT`.\n\n\u003cimg src=\"https://raw.githubusercontent.com/upstash/upsy/master/up1.png\" width=\"500\" border=\"1\" /\u003e\n\n### Default Install Settings \n\nGo to Settings \u003e Installation, check only `Guild Install`  (uncheck `User Install`)\n\n\u003cimg src=\"https://raw.githubusercontent.com/upstash/upsy/master/up2.png\" width=\"500\" border=\"1\" /\u003e\n\n\nAfter choosing Install Link (Settings \u003e Installation) as Discord provided link, you need to update scopes and permissions under Default Install Settings as follows:\n\nScopes: applications.commands, bot\n\nBot Permissions: Send Messages, Read Message History, View Channels, Send Messages in Threads.\n\n\u003cimg src=\"https://raw.githubusercontent.com/upstash/upsy/master/up3.png\" width=\"500\" border=\"1\" /\u003e\n\n### Get your Bot Token\nReset token in the bot section of your Discord application.\nYour token should start with \"MTIzMz…\" You can also set an icon for your Upsy app.\n\n\u003cimg src=\"https://raw.githubusercontent.com/upstash/upsy/master/up4.png\" width=\"500\" border=\"1\" /\u003e\n\n### Config File\nClone the discord folder and set your token into config/config.json file\n\n\n```json\n{\n    \"client\": {\n        \"token\": \"MTIzMz...\",\n    },\n} \n```\n### Get your Application ID and put it into config/config.json file\n\nYou can find your application ID in the General Information section of your Discord application. \n\n```json\n{\n    \"client\": {\n\t\t    \"id\":\"123333333333333333\",\n        \"token\": \"MTIzMz...\",\n    },\n} \n```\n\n### Set the environment variables either in Dockerfile or fly.toml:\nYou need to create Redis and Vector databases from [Upstash](https://console.upstash.com)\n\n```properties\nOPENAI_API_KEY=\"\"\nUPSTASH_REDIS_REST_TOKEN=\"\"\nUPSTASH_REDIS_REST_URL=\"\"\nUPSTASH_VECTOR_REST_TOKEN=\"\"\nUPSTASH_VECTOR_REST_URL=\"\"\n```\n\n### You can either run the bot locally or deploy it to Fly.io\n\n#### Local Deployment\n\n```bash\ndocker build -f discord/Dockerfile -t upsy-discord .\ndocker run -d -p 3001:3001 upsy-discord\n```\n\n#### Fly.io Deployment\n\n```bash\nfly launch\nfly deploy\n```\n\nDon't forget to run `fly scale count 1` to make sure only one instance is running.\n\n\n### Add the bot to your Discord server\n\nTo add the bot to your Discord server, you need to generate an OAuth2 URL. Go to the Installation section of your Discord application and under Install Link, select the discord provided link. You can then add the bot to your server.\n\nAt this point, you should see the bot online in your Discord server.\n\n## Slack Setup\n\nCheckout [Upsy Slack documentation](./slack/README.md).\n\n### Notes:\n\nYour initial discord commands will be registered at docker build time.\nFor deleting, updating or adding new commands, you need to run `npm run commands:*` commands.\n\nDiscord template used in this project is:  [Discord-Bot-TypeScript-Template](https://github.com/KevinNovak/Discord-Bot-TypeScript-Template)\n\n\u003cdetails\u003e\n\u003csummary\u003e\n\u003ch2\u003eContributing\u003c/h2\u003e\n\u003c/summary\u003e\n\nUpsy is a work in progress, so we'll add more features and improve the current ones. We've collected a few ideas we believe would make Upsy an even more helpful companion:\n\n- Add documents to the context so that Upsy can memorize and use them as context.\n- Add a web interface to manage Upsy so you can add new information to Upsy’s memory via the web interface and configure Upsy’s behavior\n- More proactive Upsy - Upsy will initiate conversations with you or respond to welcome, birthday, etc. messages\n- Ability to choose personal characters for Upsy, such as friendlier, funnier, or more serious\n\nIf one of these ideas sounds like something you'd like to work on, contributions are very welcome! You can contribute by adding new features, fixing bugs, improving the documentation, writing blog posts, or by sharing Upsy on social media.\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fupstash%2Fupsy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fupstash%2Fupsy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fupstash%2Fupsy/lists"}