{"id":15893518,"url":"https://github.com/multimeric/adaptatron","last_synced_at":"2025-08-26T08:15:56.816Z","repository":{"id":85377162,"uuid":"455380296","full_name":"multimeric/Adaptatron","owner":"multimeric","description":"Adaptatron discord bot: an interactive card search engine for Legends of Runeterra within Discord","archived":false,"fork":false,"pushed_at":"2023-03-24T10:50:11.000Z","size":768,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-02T18:15:25.812Z","etag":null,"topics":["discord","discord-bot","lambda","legends-of-runeterra","runeterra","serverless"],"latest_commit_sha":null,"homepage":"https://discord.com/api/oauth2/authorize?client_id=936919961811714058\u0026scope=applications.commands","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/multimeric.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":"2022-02-04T00:53:21.000Z","updated_at":"2022-02-10T04:17:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"e73257c8-76e1-4c2b-af6c-f39bebdfe494","html_url":"https://github.com/multimeric/Adaptatron","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"multimeric/DiscordTypescriptLambda","purl":"pkg:github/multimeric/Adaptatron","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multimeric%2FAdaptatron","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multimeric%2FAdaptatron/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multimeric%2FAdaptatron/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multimeric%2FAdaptatron/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/multimeric","download_url":"https://codeload.github.com/multimeric/Adaptatron/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multimeric%2FAdaptatron/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272192692,"owners_count":24889468,"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","status":"online","status_checked_at":"2025-08-26T02:00:07.904Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["discord","discord-bot","lambda","legends-of-runeterra","runeterra","serverless"],"created_at":"2024-10-06T08:11:25.439Z","updated_at":"2025-08-26T08:15:56.756Z","avatar_url":"https://github.com/multimeric.png","language":"TypeScript","readme":"# Adaptatron \n\nRepository for the Adaptatron discord bot: an interactive card search engine for Legends of Runeterra.\n\nHere's an example use of the bot:\n\n![](media/example_cmd.png)\n\n![](media/example_res.png)\n\n## Inviting \n\n### [Visit this URL to invite Adaptatron to your server](https://discord.com/api/oauth2/authorize?client_id=936919961811714058\u0026scope=applications.commands)\n\nNote that Adaptatron requires almost no permissions: it can't look at any messages or users in the channel.\nAll it can do is respond to its own commands.\n\n## Bot Usage\n\nAdaptatron provides exactly one command: `/lorcard`. \nType this in to your chat bar for an explanation of the command and its options.\n\n## Known Issues\n\n* The bot is a bit slow to respond to commands sometimes. This is due to wait time for the Lambda it's hosted on starting up.\n* You can't search for more than one keyword/subtype/region currently\n* If you provide no options, the bot will just return random cards\n\n## Feedback\n\nPlease visit [the issues page](https://github.com/multimeric/Adaptatron/issues) for any feature requests or bug reports. \nNote that you will need a GitHub account to post there.\n\n## Development\n\n### High Level\n\n* Adaptatron uses the new Discord interaction webhook API rather than using a bot account\n* The architecture involves:\n  * An AWS Lambda that responds to the interaction webhook\n  * A DynamoDB table holding all the Runeterra cards\n\n### Hosting it Yourself\n\n* Set up an AWS account and credentials\n* Register a new application at \u003chttps://discord.com/developers/applications\u003e\n* Export the following environment variables:\n  - `DISCORD_APP_ID`: the \"Application ID\" of your app, listed on the \"General Information\" page of the Discord Developer Dashboard.\n  - `DISCORD_PUBLIC_KEY`: the \"Public Key\" of your app, listed in the same place.\n* Deploy the bot using `cdk deploy DiscordBot`, and note the values it outputs\n* Invoke the setup lambda, using `aws lambda invoke /dev/stdout --function-name \u003cfunction name\u003e`, where `\u003cfunction name\u003e` is the `setupLambda` printed out in the previous step \n* Go to \u003chttps://discord.com/developers/applications\u003e and set the \"Interactions Endpoint URL\" to the `discordEndpoint` printed out by the deployment\n* Create an invitation URL in the dashboard under OAuth2 → URL Generator, and tick *only* `applications.commands`","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmultimeric%2Fadaptatron","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmultimeric%2Fadaptatron","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmultimeric%2Fadaptatron/lists"}