{"id":22246132,"url":"https://github.com/dawnbrandbots/bastion-bot","last_synced_at":"2025-07-11T16:35:43.093Z","repository":{"id":37634844,"uuid":"373354961","full_name":"DawnbrandBots/bastion-bot","owner":"DawnbrandBots","description":"A Discord bot for displaying information about Yu-Gi-Oh! cards in all official languages.","archived":false,"fork":false,"pushed_at":"2025-06-14T03:47:30.000Z","size":6907,"stargazers_count":12,"open_issues_count":36,"forks_count":9,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-14T04:35:43.710Z","etag":null,"topics":["bot","chinese","discord","discord-bot","discord-js","discordjs","docker","french","german","italian","japanese","korean","master-duel","masterduel","portuguese","spanish","ts","typescript","yu-gi-oh","yugioh"],"latest_commit_sha":null,"homepage":"https://discord.com/application-directory/383854640694820865","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DawnbrandBots.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","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},"funding":{"github":null,"patreon":"alphakretinbots","open_collective":null,"ko_fi":"dawnbrandbots","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2021-06-03T02:09:31.000Z","updated_at":"2025-06-14T03:47:33.000Z","dependencies_parsed_at":"2023-02-19T15:15:58.336Z","dependency_job_id":"f60775c9-2475-44c0-8415-34427c17a31e","html_url":"https://github.com/DawnbrandBots/bastion-bot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DawnbrandBots/bastion-bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DawnbrandBots%2Fbastion-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DawnbrandBots%2Fbastion-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DawnbrandBots%2Fbastion-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DawnbrandBots%2Fbastion-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DawnbrandBots","download_url":"https://codeload.github.com/DawnbrandBots/bastion-bot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DawnbrandBots%2Fbastion-bot/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264851776,"owners_count":23673299,"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":["bot","chinese","discord","discord-bot","discord-js","discordjs","docker","french","german","italian","japanese","korean","master-duel","masterduel","portuguese","spanish","ts","typescript","yu-gi-oh","yugioh"],"created_at":"2024-12-03T05:26:13.767Z","updated_at":"2025-07-11T16:35:43.088Z","avatar_url":"https://github.com/DawnbrandBots.png","language":"TypeScript","funding_links":["https://patreon.com/alphakretinbots","https://ko-fi.com/dawnbrandbots"],"categories":[],"sub_categories":[],"readme":"# Bastion [\u003cimg src=\"https://img.shields.io/badge/invite%20to-discord-brightgreen?style=for-the-badge\" alt=\"Invite to Discord\" align=\"right\" /\u003e](https://discord.com/api/oauth2/authorize?client_id=383854640694820865\u0026permissions=274878285888\u0026scope=bot%20applications.commands)\n\n\u003c!-- Unfortunately, GitHub Markdown sanitizes style attributes, so we will have to use a deprecated HTML attribute. --\u003e\n[\u003cimg src=\"https://cdn.discordapp.com/avatars/383854640694820865/fab10204c193d0bc3d48169d11245a1a.png\" alt=\"Bastion avatar\" align=\"right\" /\u003e](https://yugipedia.com/wiki/Bastion_Misawa)\n\n[![English](https://img.shields.io/badge/English-violet)](/README.md \"current language\")\n[![한국어](https://img.shields.io/badge/한국어-grey)](/translations/README.ko.md \"WIP\")\n[![日本語](https://img.shields.io/badge/日本語-blue)](/translations/README.ja.md)\n[![简体中文](https://img.shields.io/badge/简体中文-grey)](/translations/README.zh-CN.md \"WIP\")\n[![繁體中文](https://img.shields.io/badge/繁體中文-grey)](/translations/README.zh-TW.md \"WIP\")\n[![Português](https://img.shields.io/badge/Português-grey)](/translations/README.pt.md  \"WIP\")\n[![Español](https://img.shields.io/badge/Español-grey)](/translations/README.es.md \"WIP\")\n[![Français](https://img.shields.io/badge/Français-grey)](/translations/README.fr.md \"WIP\")\n[![Deutsch](https://img.shields.io/badge/Deutsch-grey)](/translations/README.de.md \"WIP\")\n[![Italiano](https://img.shields.io/badge/Italiano-grey)](/translations/README.it.md \"WIP\")\n\nA free and open-source Discord bot for looking up cards and other useful information about the\n_Yu-Gi-Oh! Trading Card Game_, _Official Card Game_, _Rush Duel_, and _Master Duel_ video game.\n\n**[Get started with searching for cards using `\u003c\u003e` in your messages!](/docs/card-search.md)**\nFor Slash Command documentation, look in [`docs/commands`](/docs/commands).\nFor everything else, please refer to the old [Bastion Classic](https://github.com/AlphaKretin/bastion-bot) repository.\n\nThanks to [YGOPRODECK](https://ygoprodeck.com/) for sponsoring Bastion. Prices provided by Bastion are YGOPRODECK affiliate links.\n\nCard images and most card data are sourced from [Yugipedia](https://yugipedia.com/) via [YAML Yugi](https://github.com/DawnbrandBots/yaml-yugi).\n\n[\u003cimg src=\"https://img.shields.io/badge/invite%20to-discord-brightgreen?style=for-the-badge\" alt=\"Invite to Discord\" /\u003e](https://discord.com/api/oauth2/authorize?client_id=383854640694820865\u0026permissions=274878285888\u0026scope=bot%20applications.commands)\n\u0026nbsp;\n[\u003cimg src=\"https://img.shields.io/badge/App%20Directory-darkgreen?style=for-the-badge\" alt=\"Discord App Directory\" /\u003e](https://discord.com/application-directory/383854640694820865)\n\n## Discord permissions\n\nPlease make sure you use an [invite link](https://discord.com/api/oauth2/authorize?client_id=383854640694820865\u0026permissions=274878285888\u0026scope=bot%20applications.commands)\nthat automatically grants the following permissions.\n\n- Create commands in a server\n- Send Messages\n- Send Messages in Threads\n- Embed Links: Bastion displays card information in a Discord rich embed.\n- Attach Files: Bastion attaches card images for trivia.\n- Read Message History: Bastion replies to messages that request card search.\n- Use External Emojis: Bastion uses certain emojis for Yu-Gi-Oh icons in its embeds.\n- Add Reactions: Bastion uses \"reaction buttons\" for advanced control of outputs.\n\nIf you do not want Bastion to be used in a channel, deny it the View Channel permission.\nOtherwise, all of the above permissions **must** be granted to Bastion in each channel it is\navailable in for it to work correctly.\n\nIf you do not want Slash Commands to be used in a channel, this can be managed per command in the Integrations tab of\nyour server settings. Alternatively, you can blanket deny the Use Application Commands permission for the individuals\nor roles in question, but this will apply to all bots.\n\n## Support server\n\n[![Support server invite](https://discordapp.com/api/guilds/381294999729340417/widget.png?style=banner3)](https://discord.gg/4aFuPyuE96)\n\n## Contributing\n\n[![codecov](https://codecov.io/gh/DawnbrandBots/bastion-bot/graph/badge.svg?token=17Z5J4SB5B)](https://codecov.io/gh/DawnbrandBots/bastion-bot)\n[![Continuous integration and deployment](https://github.com/DawnbrandBots/bastion-bot/actions/workflows/cicd.yml/badge.svg)](https://github.com/DawnbrandBots/bastion-bot/actions/workflows/cicd.yml)\n[![CodeQL](https://github.com/DawnbrandBots/bastion-bot/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/DawnbrandBots/bastion-bot/actions/workflows/codeql-analysis.yml)\n[![Contract tests](https://github.com/DawnbrandBots/bastion-bot/actions/workflows/node.js.contract.yml/badge.svg)](https://github.com/DawnbrandBots/bastion-bot/actions/workflows/node.js.contract.yml)\n\nBastion is written in [TypeScript](https://www.typescriptlang.org/).\nIt targets [Node.js](https://nodejs.org/) 20+ and\ncan be run with or without [Docker](https://docs.docker.com/get-docker/).\nIt uses [Discord.js](https://discord.js.org/) to talk to Discord.\n\nPlease use Australian English spellings.\n\n### Translations\n\nBastion intends to be fully localised to all regions with official Yu-Gi-Oh! releases.\nTranslation work is _incomplete_ and we appreciate any translator help. The localisation\nfiles are in the [`translations`](/translations) directory; for more information,\nplease see the [documentation for translators](/docs/translations.md).\n\n## Privacy\n\nSee [PRIVACY.md](https://github.com/DawnbrandBots/bastion-bot/blob/master/PRIVACY.md) for Bastion's Privacy Policy.\n\n## Licence\n\nCopyright © 2021–2025 Luna Brand, Kevin Lu.\nSee [COPYING](https://github.com/DawnbrandBots/bastion-bot/blob/master/COPYING) for more details.\n\n```\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU Affero General Public License as published\nby the Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU Affero General Public License for more details.\n\nYou should have received a copy of the GNU Affero General Public License\nalong with this program.  If not, see \u003chttps://www.gnu.org/licenses/\u003e.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdawnbrandbots%2Fbastion-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdawnbrandbots%2Fbastion-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdawnbrandbots%2Fbastion-bot/lists"}