├── .github
└── workflows
│ └── deploy.yml
├── .gitignore
├── .prettierignore
├── .prettierrc
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── LICENSE-CODE
├── README.md
├── docs
├── .vitepress
│ ├── config.ts
│ └── theme
│ │ ├── components
│ │ ├── ApplicationCommands.vue
│ │ └── Footer.vue
│ │ ├── custom.css
│ │ ├── index.ts
│ │ └── style.css
├── MARKDOWN-EXTENSIONS.md
├── discord-bot
│ ├── commands.md
│ ├── custom-api-system.md
│ ├── custom-commands.md
│ ├── getting-started.md
│ ├── live-stream-announcements.md
│ ├── live-stream-events.md
│ ├── reminder-system.md
│ └── variables.md
├── getting-started.md
├── index.md
├── public
│ ├── 16px
│ │ ├── senchabot-16px.png
│ │ ├── senchabot-nobg-1-16px.png
│ │ └── senchabot-nobg-16px.png
│ ├── 32px
│ │ ├── senchabot-32px.png
│ │ ├── senchabot-nobg-1-32px.png
│ │ └── senchabot-nobg-32px.png
│ ├── 64px
│ │ ├── senchabot-64px.png
│ │ ├── senchabot-nobg-1-64px.png
│ │ └── senchabot-nobg-64px.png
│ ├── favicon.ico
│ ├── senchabot-logo.ai
│ └── svg
│ │ ├── senchabot-nobg-1.svg
│ │ ├── senchabot-nobg.svg
│ │ └── senchabot.svg
├── tr
│ ├── discord-bot
│ │ ├── commands.md
│ │ ├── custom-api-system.md
│ │ ├── custom-commands.md
│ │ ├── getting-started.md
│ │ ├── live-stream-announcements.md
│ │ ├── live-stream-events.md
│ │ ├── reminder-system.md
│ │ └── variables.md
│ ├── getting-started.md
│ ├── index.md
│ └── twitch-bot
│ │ ├── command-timer-system.md
│ │ ├── commands.md
│ │ ├── custom-api-system.md
│ │ ├── custom-commands.md
│ │ ├── getting-started.md
│ │ ├── note-taking-system.md
│ │ ├── reminder-system.md
│ │ └── variables.md
└── twitch-bot
│ ├── command-timer-system.md
│ ├── commands.md
│ ├── custom-api-system.md
│ ├── custom-commands.md
│ ├── getting-started.md
│ ├── note-taking-system.md
│ ├── reminder-system.md
│ └── variables.md
├── package.json
└── yarn.lock
/.github/workflows/deploy.yml:
--------------------------------------------------------------------------------
1 | # Sample workflow for building and deploying a VitePress site to GitHub Pages
2 | #
3 | name: Deploy VitePress site to Pages
4 |
5 | on:
6 | # Runs on pushes targeting the `main` branch. Change this to `master` if you're
7 | # using the `master` branch as the default branch.
8 | push:
9 | branches: [main]
10 |
11 | # Allows you to run this workflow manually from the Actions tab
12 | workflow_dispatch:
13 |
14 | # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
15 | permissions:
16 | contents: read
17 | pages: write
18 | id-token: write
19 |
20 | # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
21 | # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
22 | concurrency:
23 | group: pages
24 | cancel-in-progress: false
25 |
26 | jobs:
27 | # Build job
28 | build:
29 | runs-on: ubuntu-latest
30 | steps:
31 | - name: Checkout
32 | uses: actions/checkout@v3
33 | with:
34 | fetch-depth: 0 # Not needed if lastUpdated is not enabled
35 | # - uses: pnpm/action-setup@v2 # Uncomment this if you're using pnpm
36 | # - uses: oven-sh/setup-bun@v1 # Uncomment this if you're using Bun
37 | - name: Setup Node
38 | uses: actions/setup-node@v3
39 | with:
40 | node-version: 18
41 | cache: yarn # or pnpm / yarn
42 | - name: Setup Pages
43 | uses: actions/configure-pages@v3
44 | - name: Install dependencies
45 | run: yarn install # or pnpm install / yarn install / bun install
46 | - name: Build with VitePress
47 | run: |
48 | yarn docs:build # or pnpm docs:build / npm run docs:build / bun run docs:build
49 | touch docs/.vitepress/dist/.nojekyll
50 | - name: Upload artifact
51 | uses: actions/upload-pages-artifact@v2
52 | with:
53 | path: docs/.vitepress/dist
54 |
55 | # Deployment job
56 | deploy:
57 | environment:
58 | name: github-pages
59 | url: ${{ steps.deployment.outputs.page_url }}
60 | needs: build
61 | runs-on: ubuntu-latest
62 | name: Deploy
63 | steps:
64 | - name: Deploy to GitHub Pages
65 | id: deployment
66 | uses: actions/deploy-pages@v2
67 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /coverage
2 | /src/client/shared.ts
3 | /src/node/shared.ts
4 | *.log
5 | *.tgz
6 | .DS_Store
7 | .idea
8 | .temp
9 | .vite_opt_cache
10 | .vscode
11 | dist
12 | cache
13 | temp
14 | examples-temp
15 | node_modules
16 | pnpm-global
17 | TODOs.md
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | *.md
2 | *.vue
3 | dist
4 | pnpm-lock.yaml
5 | cache
6 | template
7 | temp
8 | !CHANGELOG.md
9 | .temp
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "semi": false,
3 | "singleQuote": true,
4 | "trailingComma": "none",
5 | "printWidth": 75
6 | }
--------------------------------------------------------------------------------
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | # Contributor Covenant Code of Conduct
2 |
3 | ## Our Pledge
4 |
5 | We as members, contributors, and leaders pledge to make participation in our
6 | community a harassment-free experience for everyone, regardless of age, body
7 | size, visible or invisible disability, ethnicity, sex characteristics, gender
8 | identity and expression, level of experience, education, socio-economic status,
9 | nationality, personal appearance, race, religion, or sexual identity
10 | and orientation.
11 |
12 | We pledge to act and interact in ways that contribute to an open, welcoming,
13 | diverse, inclusive, and healthy community.
14 |
15 | ## Our Standards
16 |
17 | Examples of behavior that contributes to a positive environment for our
18 | community include:
19 |
20 | * Demonstrating empathy and kindness toward other people
21 | * Being respectful of differing opinions, viewpoints, and experiences
22 | * Giving and gracefully accepting constructive feedback
23 | * Accepting responsibility and apologizing to those affected by our mistakes,
24 | and learning from the experience
25 | * Focusing on what is best not just for us as individuals, but for the
26 | overall community
27 |
28 | Examples of unacceptable behavior include:
29 |
30 | * The use of sexualized language or imagery, and sexual attention or
31 | advances of any kind
32 | * Trolling, insulting or derogatory comments, and personal or political attacks
33 | * Public or private harassment
34 | * Publishing others' private information, such as a physical or email
35 | address, without their explicit permission
36 | * Other conduct which could reasonably be considered inappropriate in a
37 | professional setting
38 |
39 | ## Enforcement Responsibilities
40 |
41 | Community leaders are responsible for clarifying and enforcing our standards of
42 | acceptable behavior and will take appropriate and fair corrective action in
43 | response to any behavior that they deem inappropriate, threatening, offensive,
44 | or harmful.
45 |
46 | Community leaders have the right and responsibility to remove, edit, or reject
47 | comments, commits, code, wiki edits, issues, and other contributions that are
48 | not aligned to this Code of Conduct, and will communicate reasons for moderation
49 | decisions when appropriate.
50 |
51 | ## Scope
52 |
53 | This Code of Conduct applies within all community spaces, and also applies when
54 | an individual is officially representing the community in public spaces.
55 | Examples of representing our community include using an official e-mail address,
56 | posting via an official social media account, or acting as an appointed
57 | representative at an online or offline event.
58 |
59 | ## Enforcement
60 |
61 | Instances of abusive, harassing, or otherwise unacceptable behavior may be
62 | reported to the community leaders responsible for enforcement at
63 | hello@senchabot.app.
64 | All complaints will be reviewed and investigated promptly and fairly.
65 |
66 | All community leaders are obligated to respect the privacy and security of the
67 | reporter of any incident.
68 |
69 | ## Enforcement Guidelines
70 |
71 | Community leaders will follow these Community Impact Guidelines in determining
72 | the consequences for any action they deem in violation of this Code of Conduct:
73 |
74 | ### 1. Correction
75 |
76 | **Community Impact**: Use of inappropriate language or other behavior deemed
77 | unprofessional or unwelcome in the community.
78 |
79 | **Consequence**: A private, written warning from community leaders, providing
80 | clarity around the nature of the violation and an explanation of why the
81 | behavior was inappropriate. A public apology may be requested.
82 |
83 | ### 2. Warning
84 |
85 | **Community Impact**: A violation through a single incident or series
86 | of actions.
87 |
88 | **Consequence**: A warning with consequences for continued behavior. No
89 | interaction with the people involved, including unsolicited interaction with
90 | those enforcing the Code of Conduct, for a specified period of time. This
91 | includes avoiding interactions in community spaces as well as external channels
92 | like social media. Violating these terms may lead to a temporary or
93 | permanent ban.
94 |
95 | ### 3. Temporary Ban
96 |
97 | **Community Impact**: A serious violation of community standards, including
98 | sustained inappropriate behavior.
99 |
100 | **Consequence**: A temporary ban from any sort of interaction or public
101 | communication with the community for a specified period of time. No public or
102 | private interaction with the people involved, including unsolicited interaction
103 | with those enforcing the Code of Conduct, is allowed during this period.
104 | Violating these terms may lead to a permanent ban.
105 |
106 | ### 4. Permanent Ban
107 |
108 | **Community Impact**: Demonstrating a pattern of violation of community
109 | standards, including sustained inappropriate behavior, harassment of an
110 | individual, or aggression toward or disparagement of classes of individuals.
111 |
112 | **Consequence**: A permanent ban from any sort of public interaction within
113 | the community.
114 |
115 | ## Attribution
116 |
117 | This Code of Conduct is adapted from the [Contributor Covenant][homepage],
118 | version 2.0, available at
119 | https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
120 |
121 | Community Impact Guidelines were inspired by [Mozilla's code of conduct
122 | enforcement ladder](https://github.com/mozilla/diversity).
123 |
124 | [homepage]: https://www.contributor-covenant.org
125 |
126 | For answers to common questions about this code of conduct, see the FAQ at
127 | https://www.contributor-covenant.org/faq. Translations are available at
128 | https://www.contributor-covenant.org/translations.
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | ## Wanted Changes
2 |
3 | 1. Fixes to incorrect statements or inaccuracies within the documentation.
4 | 2. Rewording or extending documentation to clarify unclear wording or complicated explanations.
5 | 3. Additions that fill gaps or missing pieces in the current documentation.
6 | 4. Fixing of spelling and grammatical errors in the documentation.
7 |
8 | ## Unwanted Changes
9 |
10 | 1. Whitespace or formatting changes.
11 | 2. Subjective wording changes.
12 | 3. Modifications to the overall structure and format of the docs.
13 | 4. Additions that replicate or needlessly restructure current documentation.
14 | 5. Additions that document unreleased product functionality.
15 |
16 |
17 | See the [README](https://github.com/senchabot-opensource/docs/blob/main/README.md) for licensing and legal information.
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International
2 |
3 | Creative Commons Corporation ("Creative Commons") is not a law firm and
4 | does not provide legal services or legal advice. Distribution of
5 | Creative Commons public licenses does not create a lawyer-client or
6 | other relationship. Creative Commons makes its licenses and related
7 | information available on an "as-is" basis. Creative Commons gives no
8 | warranties regarding its licenses, any material licensed under their
9 | terms and conditions, or any related information. Creative Commons
10 | disclaims all liability for damages resulting from their use to the
11 | fullest extent possible.
12 |
13 | Using Creative Commons Public Licenses
14 |
15 | Creative Commons public licenses provide a standard set of terms and
16 | conditions that creators and other rights holders may use to share
17 | original works of authorship and other material subject to copyright and
18 | certain other rights specified in the public license below. The
19 | following considerations are for informational purposes only, are not
20 | exhaustive, and do not form part of our licenses.
21 |
22 | Considerations for licensors: Our public licenses are intended for use
23 | by those authorized to give the public permission to use material in
24 | ways otherwise restricted by copyright and certain other rights. Our
25 | licenses are irrevocable. Licensors should read and understand the terms
26 | and conditions of the license they choose before applying it. Licensors
27 | should also secure all rights necessary before applying our licenses so
28 | that the public can reuse the material as expected. Licensors should
29 | clearly mark any material not subject to the license. This includes
30 | other CC-licensed material, or material used under an exception or
31 | limitation to copyright. More considerations for licensors :
32 | wiki.creativecommons.org/Considerations\_for\_licensors
33 |
34 | Considerations for the public: By using one of our public licenses, a
35 | licensor grants the public permission to use the licensed material under
36 | specified terms and conditions. If the licensor's permission is not
37 | necessary for any reason–for example, because of any applicable
38 | exception or limitation to copyright–then that use is not regulated by
39 | the license. Our licenses grant only permissions under copyright and
40 | certain other rights that a licensor has authority to grant. Use of the
41 | licensed material may still be restricted for other reasons, including
42 | because others have copyright or other rights in the material. A
43 | licensor may make special requests, such as asking that all changes be
44 | marked or described. Although not required by our licenses, you are
45 | encouraged to respect those requests where reasonable. More
46 | considerations for the public :
47 | wiki.creativecommons.org/Considerations\_for\_licensees
48 |
49 | Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International
50 | Public License
51 |
52 | By exercising the Licensed Rights (defined below), You accept and agree
53 | to be bound by the terms and conditions of this Creative Commons
54 | Attribution-NonCommercial-ShareAlike 4.0 International Public License
55 | ("Public License"). To the extent this Public License may be interpreted
56 | as a contract, You are granted the Licensed Rights in consideration of
57 | Your acceptance of these terms and conditions, and the Licensor grants
58 | You such rights in consideration of benefits the Licensor receives from
59 | making the Licensed Material available under these terms and conditions.
60 |
61 | Section 1 – Definitions.
62 |
63 | - a. Adapted Material means material subject to Copyright and Similar
64 | Rights that is derived from or based upon the Licensed Material and
65 | in which the Licensed Material is translated, altered, arranged,
66 | transformed, or otherwise modified in a manner requiring permission
67 | under the Copyright and Similar Rights held by the Licensor. For
68 | purposes of this Public License, where the Licensed Material is a
69 | musical work, performance, or sound recording, Adapted Material is
70 | always produced where the Licensed Material is synched in timed
71 | relation with a moving image.
72 | - b. Adapter's License means the license You apply to Your Copyright
73 | and Similar Rights in Your contributions to Adapted Material in
74 | accordance with the terms and conditions of this Public License.
75 | - c. BY-NC-SA Compatible License means a license listed at
76 | creativecommons.org/compatiblelicenses, approved by Creative Commons
77 | as essentially the equivalent of this Public License.
78 | - d. Copyright and Similar Rights means copyright and/or similar
79 | rights closely related to copyright including, without limitation,
80 | performance, broadcast, sound recording, and Sui Generis Database
81 | Rights, without regard to how the rights are labeled or categorized.
82 | For purposes of this Public License, the rights specified in Section
83 | 2(b)(1)-(2) are not Copyright and Similar Rights.
84 | - e. Effective Technological Measures means those measures that, in
85 | the absence of proper authority, may not be circumvented under laws
86 | fulfilling obligations under Article 11 of the WIPO Copyright Treaty
87 | adopted on December 20, 1996, and/or similar international
88 | agreements.
89 | - f. Exceptions and Limitations means fair use, fair dealing, and/or
90 | any other exception or limitation to Copyright and Similar Rights
91 | that applies to Your use of the Licensed Material.
92 | - g. License Elements means the license attributes listed in the name
93 | of a Creative Commons Public License. The License Elements of this
94 | Public License are Attribution, NonCommercial, and ShareAlike.
95 | - h. Licensed Material means the artistic or literary work, database,
96 | or other material to which the Licensor applied this Public License.
97 | - i. Licensed Rights means the rights granted to You subject to the
98 | terms and conditions of this Public License, which are limited to
99 | all Copyright and Similar Rights that apply to Your use of the
100 | Licensed Material and that the Licensor has authority to license.
101 | - j. Licensor means the individual(s) or entity(ies) granting rights
102 | under this Public License.
103 | - k. NonCommercial means not primarily intended for or directed
104 | towards commercial advantage or monetary compensation. For purposes
105 | of this Public License, the exchange of the Licensed Material for
106 | other material subject to Copyright and Similar Rights by digital
107 | file-sharing or similar means is NonCommercial provided there is no
108 | payment of monetary compensation in connection with the exchange.
109 | - l. Share means to provide material to the public by any means or
110 | process that requires permission under the Licensed Rights, such as
111 | reproduction, public display, public performance, distribution,
112 | dissemination, communication, or importation, and to make material
113 | available to the public including in ways that members of the public
114 | may access the material from a place and at a time individually
115 | chosen by them.
116 | - m. Sui Generis Database Rights means rights other than copyright
117 | resulting from Directive 96/9/EC of the European Parliament and of
118 | the Council of 11 March 1996 on the legal protection of databases,
119 | as amended and/or succeeded, as well as other essentially equivalent
120 | rights anywhere in the world.
121 | - n. You means the individual or entity exercising the Licensed Rights
122 | under this Public License. Your has a corresponding meaning.
123 |
124 | Section 2 – Scope.
125 |
126 | - a. License grant.
127 | - 1. Subject to the terms and conditions of this Public License,
128 | the Licensor hereby grants You a worldwide, royalty-free,
129 | non-sublicensable, non-exclusive, irrevocable license to
130 | exercise the Licensed Rights in the Licensed Material to:
131 | - A. reproduce and Share the Licensed Material, in whole or in
132 | part, for NonCommercial purposes only; and
133 | - B. produce, reproduce, and Share Adapted Material for
134 | NonCommercial purposes only.
135 | - 2. Exceptions and Limitations. For the avoidance of doubt, where
136 | Exceptions and Limitations apply to Your use, this Public
137 | License does not apply, and You do not need to comply with its
138 | terms and conditions.
139 | - 3. Term. The term of this Public License is specified in Section
140 | 6(a).
141 | - 4. Media and formats; technical modifications allowed. The
142 | Licensor authorizes You to exercise the Licensed Rights in all
143 | media and formats whether now known or hereafter created, and to
144 | make technical modifications necessary to do so. The Licensor
145 | waives and/or agrees not to assert any right or authority to
146 | forbid You from making technical modifications necessary to
147 | exercise the Licensed Rights, including technical modifications
148 | necessary to circumvent Effective Technological Measures. For
149 | purposes of this Public License, simply making modifications
150 | authorized by this Section 2(a)(4) never produces Adapted
151 | Material.
152 | - 5. Downstream recipients.
153 | - A. Offer from the Licensor – Licensed Material. Every
154 | recipient of the Licensed Material automatically receives an
155 | offer from the Licensor to exercise the Licensed Rights
156 | under the terms and conditions of this Public License.
157 | - B. Additional offer from the Licensor – Adapted Material.
158 | Every recipient of Adapted Material from You automatically
159 | receives an offer from the Licensor to exercise the Licensed
160 | Rights in the Adapted Material under the conditions of the
161 | Adapter's License You apply.
162 | - C. No downstream restrictions. You may not offer or impose
163 | any additional or different terms or conditions on, or apply
164 | any Effective Technological Measures to, the Licensed
165 | Material if doing so restricts exercise of the Licensed
166 | Rights by any recipient of the Licensed Material.
167 | - 6. No endorsement. Nothing in this Public License constitutes or
168 | may be construed as permission to assert or imply that You are,
169 | or that Your use of the Licensed Material is, connected with, or
170 | sponsored, endorsed, or granted official status by, the Licensor
171 | or others designated to receive attribution as provided in
172 | Section 3(a)(1)(A)(i).
173 | - b. Other rights.
174 | - 1. Moral rights, such as the right of integrity, are not
175 | licensed under this Public License, nor are publicity, privacy,
176 | and/or other similar personality rights; however, to the extent
177 | possible, the Licensor waives and/or agrees not to assert any
178 | such rights held by the Licensor to the limited extent necessary
179 | to allow You to exercise the Licensed Rights, but not otherwise.
180 | - 2. Patent and trademark rights are not licensed under this
181 | Public License.
182 | - 3. To the extent possible, the Licensor waives any right to
183 | collect royalties from You for the exercise of the Licensed
184 | Rights, whether directly or through a collecting society under
185 | any voluntary or waivable statutory or compulsory licensing
186 | scheme. In all other cases the Licensor expressly reserves any
187 | right to collect such royalties, including when the Licensed
188 | Material is used other than for NonCommercial purposes.
189 |
190 | Section 3 – License Conditions.
191 |
192 | Your exercise of the Licensed Rights is expressly made subject to the
193 | following conditions.
194 |
195 | - a. Attribution.
196 | - 1. If You Share the Licensed Material (including in modified
197 | form), You must:
198 | - A. retain the following if it is supplied by the Licensor
199 | with the Licensed Material:
200 | - i. identification of the creator(s) of the Licensed
201 | Material and any others designated to receive
202 | attribution, in any reasonable manner requested by the
203 | Licensor (including by pseudonym if designated);
204 | - ii. a copyright notice;
205 | - iii. a notice that refers to this Public License;
206 | - iv. a notice that refers to the disclaimer of
207 | warranties;
208 | - v. a URI or hyperlink to the Licensed Material to the
209 | extent reasonably practicable;
210 |
211 | - B. indicate if You modified the Licensed Material and retain
212 | an indication of any previous modifications; and
213 | - C. indicate the Licensed Material is licensed under this
214 | Public License, and include the text of, or the URI or
215 | hyperlink to, this Public License.
216 | - 2. You may satisfy the conditions in Section 3(a)(1) in any
217 | reasonable manner based on the medium, means, and context in
218 | which You Share the Licensed Material. For example, it may be
219 | reasonable to satisfy the conditions by providing a URI or
220 | hyperlink to a resource that includes the required information.
221 | - 3. If requested by the Licensor, You must remove any of the
222 | information required by Section 3(a)(1)(A) to the extent
223 | reasonably practicable.
224 | - b. ShareAlike.In addition to the conditions in Section 3(a), if You
225 | Share Adapted Material You produce, the following conditions also
226 | apply.
227 | - 1. The Adapter's License You apply must be a Creative Commons
228 | license with the same License Elements, this version or later,
229 | or a BY-NC-SA Compatible License.
230 | - 2. You must include the text of, or the URI or hyperlink to, the
231 | Adapter's License You apply. You may satisfy this condition in
232 | any reasonable manner based on the medium, means, and context in
233 | which You Share Adapted Material.
234 | - 3. You may not offer or impose any additional or different terms
235 | or conditions on, or apply any Effective Technological Measures
236 | to, Adapted Material that restrict exercise of the rights
237 | granted under the Adapter's License You apply.
238 |
239 | Section 4 – Sui Generis Database Rights.
240 |
241 | Where the Licensed Rights include Sui Generis Database Rights that apply
242 | to Your use of the Licensed Material:
243 |
244 | - a. for the avoidance of doubt, Section 2(a)(1) grants You the right
245 | to extract, reuse, reproduce, and Share all or a substantial portion
246 | of the contents of the database for NonCommercial purposes only;
247 | - b. if You include all or a substantial portion of the database
248 | contents in a database in which You have Sui Generis Database
249 | Rights, then the database in which You have Sui Generis Database
250 | Rights (but not its individual contents) is Adapted Material,
251 | including for purposes of Section 3(b); and
252 | - c. You must comply with the conditions in Section 3(a) if You Share
253 | all or a substantial portion of the contents of the database.
254 | For the avoidance of doubt, this Section 4 supplements and does not
255 | replace Your obligations under this Public License where the
256 | Licensed Rights include other Copyright and Similar Rights.
257 |
258 | Section 5 – Disclaimer of Warranties and Limitation of Liability.
259 |
260 | - a. Unless otherwise separately undertaken by the Licensor, to the
261 | extent possible, the Licensor offers the Licensed Material as-is and
262 | as-available, and makes no representations or warranties of any kind
263 | concerning the Licensed Material, whether express, implied,
264 | statutory, or other. This includes, without limitation, warranties
265 | of title, merchantability, fitness for a particular purpose,
266 | non-infringement, absence of latent or other defects, accuracy, or
267 | the presence or absence of errors, whether or not known or
268 | discoverable. Where disclaimers of warranties are not allowed in
269 | full or in part, this disclaimer may not apply to You.
270 | - b. To the extent possible, in no event will the Licensor be liable
271 | to You on any legal theory (including, without limitation,
272 | negligence) or otherwise for any direct, special, indirect,
273 | incidental, consequential, punitive, exemplary, or other losses,
274 | costs, expenses, or damages arising out of this Public License or
275 | use of the Licensed Material, even if the Licensor has been advised
276 | of the possibility of such losses, costs, expenses, or damages.
277 | Where a limitation of liability is not allowed in full or in part,
278 | this limitation may not apply to You.
279 | - c. The disclaimer of warranties and limitation of liability provided
280 | above shall be interpreted in a manner that, to the extent possible,
281 | most closely approximates an absolute disclaimer and waiver of all
282 | liability.
283 |
284 | Section 6 – Term and Termination.
285 |
286 | - a. This Public License applies for the term of the Copyright and
287 | Similar Rights licensed here. However, if You fail to comply with
288 | this Public License, then Your rights under this Public License
289 | terminate automatically.
290 | - b. Where Your right to use the Licensed Material has terminated
291 | under Section 6(a), it reinstates:
292 |
293 | - 1. automatically as of the date the violation is cured, provided
294 | it is cured within 30 days of Your discovery of the violation;
295 | or
296 | - 2. upon express reinstatement by the Licensor.
297 |
298 | For the avoidance of doubt, this Section 6(b) does not affect any
299 | right the Licensor may have to seek remedies for Your violations of
300 | this Public License.
301 |
302 | - c. For the avoidance of doubt, the Licensor may also offer the
303 | Licensed Material under separate terms or conditions or stop
304 | distributing the Licensed Material at any time; however, doing so
305 | will not terminate this Public License.
306 | - d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
307 | License.
308 |
309 | Section 7 – Other Terms and Conditions.
310 |
311 | - a. The Licensor shall not be bound by any additional or different
312 | terms or conditions communicated by You unless expressly agreed.
313 | - b. Any arrangements, understandings, or agreements regarding the
314 | Licensed Material not stated herein are separate from and
315 | independent of the terms and conditions of this Public License.
316 |
317 | Section 8 – Interpretation.
318 |
319 | - a. For the avoidance of doubt, this Public License does not, and
320 | shall not be interpreted to, reduce, limit, restrict, or impose
321 | conditions on any use of the Licensed Material that could lawfully
322 | be made without permission under this Public License.
323 | - b. To the extent possible, if any provision of this Public License
324 | is deemed unenforceable, it shall be automatically reformed to the
325 | minimum extent necessary to make it enforceable. If the provision
326 | cannot be reformed, it shall be severed from this Public License
327 | without affecting the enforceability of the remaining terms and
328 | conditions.
329 | - c. No term or condition of this Public License will be waived and no
330 | failure to comply consented to unless expressly agreed to by the
331 | Licensor.
332 | - d. Nothing in this Public License constitutes or may be interpreted
333 | as a limitation upon, or waiver of, any privileges and immunities
334 | that apply to the Licensor or You, including from the legal
335 | processes of any jurisdiction or authority.
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Senchabot Documentation
2 |
3 | This repo contains the official Senchabot documentation, which can be viewed online [HERE](https://docs.senchabot.app). Before submitting pull-requests, please remember to _fully_ read the [Contributing](CONTRIBUTING.md) guidelines.
4 |
5 | ## Markdown Syntax and Example Usage
6 |
7 | For Markdown Syntax and Example Uses, visit [MARKDOWN-EXTENSIONS](https://docs.senchabot.app/MARKDOWN-EXTENSIONS)
8 |
9 | ## Need some help?
10 |
11 | Here are some Discord servers that can help you out with everything Senchabot:
12 |
13 | The [Official Senchabot Support/Developers server](https://discord.com/invite/h3NqsbHW4a) has plenty of help channels with knowledgeable people and Senchabot's developers to get you help with something you need, and get updates straight from the developers. However do keep in mind this is a purely on-topic server. If you are looking for a community, join the server below.
14 |
15 | The [Kamp US server](https://discord.gg/kampus) is a common hangout for developers. It's a great starting point for those looking to dive in and learn how to developer.
16 |
17 | ## License
18 |
19 | Except as otherwise noted, the Senchabot Documentation and other content in this repository is licensed under the Creative Commons Attribution-ShareAlike 4.0 License (see [LICENSE](https://github.com/senchabot-opensource/docs/blob/main/LICENSE)), and code samples in this repository are licensed under the AGPL-3.0 License (see [LICENSE-CODE](https://github.com/senchabot-opensource/docs/blob/main/LICENSE-CODE)). These licenses do not grant you rights to use any of Senchabot’s trademarks or other brand features.
--------------------------------------------------------------------------------
/docs/.vitepress/config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vitepress'
2 |
3 | // https://vitepress.dev/reference/site-config
4 | export default defineConfig({
5 | vite: {
6 | ssr: {
7 | noExternal: ['@discord-message-components/vue']
8 | }
9 | },
10 | title: 'Senchabot',
11 | description: 'Documentation',
12 |
13 | lastUpdated: true,
14 | cleanUrls: true,
15 | ignoreDeadLinks: true,
16 |
17 | head: [
18 | ['link', { rel: 'icon', href: '/favicon.ico' }],
19 | [
20 | 'meta',
21 | {
22 | name: 'description',
23 | content:
24 | 'Open-source multi-platform bot development project, which works on Twitch and Discord.'
25 | }
26 | ],
27 | ['meta', { name: 'theme-color', content: '#20AB8C' }],
28 | ['meta', { name: 'og:type', content: 'website' }],
29 | ['meta', { name: 'og:site_name', content: 'Senchabot' }],
30 | [
31 | 'meta',
32 | {
33 | name: 'og:image',
34 | content: 'https://avatars.githubusercontent.com/u/125701962'
35 | }
36 | ],
37 | [
38 | 'meta',
39 | {
40 | name: 'og:description',
41 | content:
42 | 'Open-source multi-platform bot development project, which works on Twitch and Discord.'
43 | }
44 | ],
45 | ['meta', { name: 'twitter:site', content: '@senchabot' }],
46 | ['meta', { name: 'twitter:card', content: 'summary' }],
47 | [
48 | 'meta',
49 | {
50 | name: 'twitter:description',
51 | content: 'Open-source Discord and Twitch bot'
52 | }
53 | ],
54 | [
55 | 'meta',
56 | {
57 | name: 'twitter:image',
58 | content: 'https://avatars.githubusercontent.com/u/125701962'
59 | }
60 | ],
61 | ['meta', { name: 'robots', content: 'index,follow' }],
62 | [
63 | 'script',
64 | {
65 | async: '',
66 | src: 'https://www.googletagmanager.com/gtag/js?id=G-ZXSVB4HQJH'
67 | }
68 | ],
69 | [
70 | 'script',
71 | {},
72 | `window.dataLayer = window.dataLayer || [];
73 | function gtag(){dataLayer.push(arguments);}
74 | gtag('js', new Date());
75 | gtag('config', 'G-ZXSVB4HQJH');`
76 | ]
77 | ],
78 |
79 | themeConfig: {
80 | // https://vitepress.dev/reference/default-theme-config
81 | logo: { src: '/svg/senchabot-nobg-1.svg', width: 24, height: 24 },
82 |
83 | i18nRouting: true,
84 |
85 | socialLinks: [
86 | { icon: 'github', link: 'https://github.com/senchabot-opensource/' },
87 | { icon: 'discord', link: 'https://discord.com/invite/h3NqsbHW4a' },
88 | {
89 | icon: 'linkedin',
90 | link: 'https://www.linkedin.com/company/senchabot'
91 | }
92 | ], // available icons https://vitepress.dev/reference/default-theme-config#sociallinks
93 |
94 | nav: [
95 | {
96 | text: 'Developers',
97 | link: 'https://github.com/senchabot-opensource/monorepo'
98 | }
99 | ],
100 | // Footer
101 | footer: {
102 | message: `Released under the GPL-3.0 License `,
103 | copyright: `Copyright © ${new Date().getFullYear()} Senchabot Terms of Service • Privacy Policy `
104 | },
105 | search: {
106 | provider: 'local',
107 | options: {
108 | locales: {
109 | tr: {
110 | translations: {
111 | button: {
112 | buttonText: 'Arama',
113 | buttonAriaLabel: 'Arama'
114 | },
115 | modal: {
116 | displayDetails: 'Ayrıntılı listeyi görüntüle',
117 | resetButtonTitle: 'Arama kriterlerini temizleyin',
118 | backButtonTitle: 'Aramayı kapat',
119 | noResultsText: 'Hiçbir sonuç bulunamadı',
120 | footer: {
121 | selectText: 'navigasyon için',
122 | navigateText: 'seçmek için',
123 | navigateUpKeyAriaLabel: 'yukarı ok',
124 | navigateDownKeyAriaLabel: 'aşağı ok',
125 | closeText: 'kapatmak için'
126 | }
127 | }
128 | }
129 | }
130 | }
131 | }
132 | },
133 |
134 | editLink: {
135 | pattern:
136 | 'https://github.com/senchabot-opensource/docs/edit/main/docs/:path'
137 | }
138 | },
139 | locales: {
140 | root: {
141 | label: 'English',
142 | lang: 'en',
143 | link: '/',
144 | themeConfig: {
145 | sidebar: [
146 | // Sidebar Top
147 | // {
148 | // items: [
149 | // { text: "Introduction", link: "/" },
150 | // { text: "Getting Started", link: "/getting-started" },
151 | // ],
152 | // },
153 | // Twitch - EN
154 | {
155 | text: 'Twitch',
156 | collapsed: false,
157 | items: [
158 | {
159 | text: 'Getting Started',
160 | link: '/twitch-bot/getting-started'
161 | },
162 | {
163 | text: 'Commands',
164 | link: '/twitch-bot/commands'
165 | },
166 | {
167 | text: 'Custom Commands',
168 | link: '/twitch-bot/custom-commands'
169 | },
170 | {
171 | text: 'Modules',
172 | collapsed: false,
173 | items: [
174 | {
175 | text: 'Custom API System',
176 | link: '/twitch-bot/custom-api-system'
177 | },
178 | {
179 | text: 'Command Timer System',
180 | link: '/twitch-bot/command-timer-system'
181 | }
182 | ]
183 | },
184 | {
185 | text: 'Planned (Not Active)',
186 | collapsed: true,
187 | items: [
188 | {
189 | text: 'Reminder System',
190 | link: '/twitch-bot/reminder-system'
191 | },
192 | {
193 | text: 'Note Taking System',
194 | link: '/twitch-bot/note-taking-system'
195 | }
196 | ]
197 | },
198 | {
199 | text: 'Variables',
200 | link: '/twitch-bot/variables'
201 | }
202 | ]
203 | },
204 | // Discord - EN
205 | {
206 | text: 'Discord',
207 | collapsed: false,
208 | items: [
209 | {
210 | text: 'Getting Started',
211 | link: '/discord-bot/getting-started'
212 | },
213 | { text: 'Commands', link: '/discord-bot/commands' },
214 | {
215 | text: 'Custom Commands',
216 | link: '/discord-bot/custom-commands'
217 | },
218 | {
219 | text: 'Modules',
220 | collapsed: true,
221 | items: [
222 | {
223 | text: 'Live Stream Announcements',
224 | link: '/discord-bot/live-stream-announcements'
225 | },
226 | {
227 | text: 'Live Stream Events',
228 | link: '/discord-bot/live-stream-events'
229 | },
230 | {
231 | text: 'Custom API System',
232 | link: '/discord-bot/custom-api-system'
233 | }
234 | // {
235 | // text: "Reminder System",
236 | // link: "/discord-bot/reminder-system",
237 | // },
238 | ]
239 | }
240 | // {
241 | // text: "Variables",
242 | // link: "/discord-bot/variables",
243 | // },
244 | ]
245 | }
246 | // Variables - Twitch & Discord
247 | // { text: "Variables", link: "/variables" },
248 | ]
249 | }
250 | },
251 | // TR - Turkish
252 | tr: {
253 | label: 'Türkçe',
254 | lang: 'tr',
255 | link: '/tr/',
256 | themeConfig: {
257 | docFooter: {
258 | prev: 'Önceki sayfa',
259 | next: 'Sonraki sayfa'
260 | },
261 | outlineTitle: 'Bu sayfadaki',
262 | lastUpdatedText: 'Son güncelleme',
263 | editLink: {
264 | pattern:
265 | 'https://github.com/senchabot-opensource/docs/edit/main/docs/:path',
266 | text: 'Bu sayfayı düzenle'
267 | },
268 |
269 | sidebar: [
270 | // Sidebar Top - TR
271 | // {
272 | // items: [
273 | // { text: 'Giriş', link: '/tr/' },
274 | // { text: 'Başlamadan Önce', link: '/tr/getting-started' }
275 | // ]
276 | // },
277 | // Twitch - TR
278 | {
279 | text: 'Twitch',
280 | collapsed: false,
281 | items: [
282 | {
283 | text: 'Başlamadan Önce',
284 | link: '/tr/twitch-bot/getting-started'
285 | },
286 | {
287 | text: 'Komutlar',
288 | link: '/tr/twitch-bot/commands'
289 | },
290 | {
291 | text: 'Özel Komutlar',
292 | link: '/tr/twitch-bot/custom-commands'
293 | },
294 | {
295 | text: 'Modüller',
296 | collapsed: false,
297 | items: [
298 | {
299 | text: 'Custom API Sistemi',
300 | link: '/tr/twitch-bot/custom-api-system'
301 | },
302 | {
303 | text: 'Komut Zamanlayıcı Sistemi',
304 | link: '/tr/twitch-bot/command-timer-system'
305 | }
306 | ]
307 | },
308 | {
309 | text: 'Planlandı (Aktif Değil)',
310 | collapsed: true,
311 | items: [
312 | {
313 | text: 'Hatırlatıcı Sistemi',
314 | link: '/tr/twitch-bot/reminder-system'
315 | },
316 | {
317 | text: 'Not Sistemi',
318 | link: '/tr/twitch-bot/note-taking-system'
319 | }
320 | ]
321 | },
322 | {
323 | text: 'Değişkenler',
324 | link: '/tr/twitch-bot/variables'
325 | }
326 | ]
327 | },
328 | // Discord - TR
329 | {
330 | text: 'Discord',
331 | collapsed: false,
332 | items: [
333 | {
334 | text: 'Başlamadan Önce',
335 | link: '/tr/discord-bot/getting-started'
336 | },
337 | { text: 'Komutlar', link: '/tr/discord-bot/commands' },
338 | {
339 | text: 'Özel Komutlar',
340 | link: '/tr/discord-bot/custom-commands'
341 | },
342 | {
343 | text: 'Modüller',
344 | collapsed: true,
345 | items: [
346 | {
347 | text: 'Canlı Yayın Duyuruları',
348 | link: '/tr/discord-bot/live-stream-announcements'
349 | },
350 | {
351 | text: 'Canlı Yayın Etkinlikleri',
352 | link: '/tr/discord-bot/live-stream-events'
353 | },
354 | {
355 | text: 'Custom API Sistemi',
356 | link: '/tr/discord-bot/custom-api-system'
357 | }
358 | // {
359 | // text: "Hatırlatıcı Sistemi",
360 | // link: "/tr/discord-bot/reminder-system",
361 | // },
362 | ]
363 | }
364 | // {
365 | // text: "Değişkenler",
366 | // link: "/tr/discord-bot/variables",
367 | // },
368 | ]
369 | }
370 | // Variables - Twitch & Discord - TR
371 | // { text: "Değişkenler", link: "/variables" },
372 | ]
373 | }
374 | }
375 | }
376 | })
377 |
--------------------------------------------------------------------------------
/docs/.vitepress/theme/components/ApplicationCommands.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | /{{ appCmd.name }}
7 |
8 |
9 |
10 |
11 | {{ optionPillKey }}
12 |
13 |
14 | {{ optionPillValue }}
15 |
16 |
17 |
18 |
19 | {{ optionPillKey2 }}
20 |
21 |
22 | {{ optionPillValue2 }}
23 |
24 |
25 |
26 |
27 |
28 |
55 |
56 |
--------------------------------------------------------------------------------
/docs/.vitepress/theme/components/Footer.vue:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/docs/.vitepress/theme/custom.css:
--------------------------------------------------------------------------------
1 | /* Global */
2 | @import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;600&display=swap');
3 |
4 | /* Links */
5 | .vp-doc a {
6 | text-decoration: inherit;
7 | }
8 |
9 | /* Footer */
10 | footer {
11 | margin-top: 24px;
12 | padding-top: 24px;
13 | border-top: 0.1px solid var(--vp-c-divider);
14 | }
15 |
16 | footer span {
17 | font-size: 0.7rem;
18 | display: block;
19 | line-height: 1.5;
20 | margin-bottom: 8px;
21 | color: var(--vp-c-text-3);
22 | }
23 |
24 | footer a:hover {
25 | color: var(--brand-primary);;
26 | }
27 |
28 | footer span a {
29 | text-decoration: underline;
30 | }
31 |
32 | /* Scrollbar Styles */
33 | *::-webkit-scrollbar {
34 | width: 12px;
35 | }
36 |
37 | *::-webkit-scrollbar-track {
38 | border-radius: 8px;
39 | }
40 |
41 | *::-webkit-scrollbar-thumb {
42 | height: 56px;
43 | border-radius: 8px;
44 | border: 4px solid transparent;
45 | background-clip: content-box;
46 | background-color: #888;
47 | }
48 |
49 | *::-webkit-scrollbar-thumb:hover {
50 | background-color: #555;
51 | }
52 |
53 | /* Light Theme */
54 | :root {
55 | /* Content ref large */
56 | .content-ref {
57 | display: flex;
58 | flex-flow: row nowrap;
59 | align-items: center;
60 | justify-content: space-between;
61 | padding: 16px;
62 | margin: 16px 0;
63 | background-color: var(--vp-c-default-soft);
64 | border-radius: 12px;
65 | box-shadow: none;
66 | transition: box-shadow 0.25s;
67 | }
68 |
69 | .content-ref:hover {
70 | box-shadow: var(--vp-shadow-2);
71 | }
72 |
73 | .content-ref-section-title {
74 | display: block;
75 | font-size: 0.9rem;
76 | text-transform: uppercase;
77 | color: var(--vp-c-text-3);
78 | }
79 |
80 | .content-ref-page-title {
81 | display: block;
82 | font-size: 1.2rem;
83 | color: var(--brand-primary);
84 | transition: color 0.25s;
85 | }
86 |
87 | .content-ref:hover .content-ref-page-title {
88 | color: var(--brand-secondary);
89 | }
90 |
91 | .content-ref-svg {
92 | color: var(--brand-primary);
93 | transition: color 0.25s;
94 | }
95 |
96 | .content-ref:hover .content-ref-svg {
97 | color: var(--brand-secondary);
98 | }
99 |
100 | /* Content ref small */
101 | .content-ref-s {
102 | display: flex;
103 | flex-flow: row nowrap;
104 | align-items: center;
105 | justify-content: space-between;
106 | padding: 16px;
107 | margin: 16px 0;
108 | background-color: var(--vp-c-default-soft);
109 | border-radius: 12px;
110 | box-shadow: none;
111 | transition: box-shadow 0.25s;
112 | }
113 |
114 | .content-ref-s:hover {
115 | box-shadow: var(--vp-shadow-2);
116 | }
117 |
118 | .content-ref-page-title-s {
119 | display: block;
120 | font-size: 1rem;
121 | color: var(--brand-primary);
122 | transition: color 0.25s;
123 | }
124 |
125 | .content-ref-s:hover .content-ref-page-title-s {
126 | color: var(--brand-secondary);
127 | }
128 |
129 | .content-ref-svg-s {
130 | color: var(--brand-primary);
131 | transition: color 0.25s;
132 | }
133 |
134 | .content-ref-s:hover .content-ref-svg-s {
135 | color: var(--brand-secondary);
136 | }
137 |
138 | /* Application Command Light Theme*/
139 | .applicationCommand {
140 | color: #40444b;
141 | font-size: 14px;
142 | display: flex;
143 | flex-wrap: wrap;
144 | font-family: 'Noto Sans', sans-serif;
145 | border-radius: 8px;
146 | background-color: #dbdee1;
147 | }
148 |
149 | .applicationCommandIcon {
150 | width: 20px;
151 | height: 20px;
152 | margin: 8px 14px 8px 14px;
153 | position: sticky;
154 | }
155 |
156 | .applicationCommandName {
157 | font-weight: 600;
158 | margin-left: 4px;
159 | padding: 8px 0px 0px;
160 | }
161 |
162 | .optionPill {
163 | display: flex;
164 | border-radius: 4px;
165 | margin: 6px 0px 6px 6px;
166 | border: 1px solid transparent;
167 | align-self: flex-start;
168 | background-color: #E3E5E8;
169 | justify-content: flex-start;
170 | vertical-align: top;
171 | max-width: calc(100% - 30px);
172 | margin-top: 6px;
173 | }
174 |
175 | .optionPillKey {
176 | display: inline-block;
177 | padding: 1px 8px;
178 | border-top-left-radius: 4px;
179 | border-bottom-left-radius: 4px;
180 | user-select: none;
181 | flex-shrink: 0;
182 | }
183 |
184 | .optionPillValue {
185 | display: block;
186 | padding: 1px 8px;
187 | white-space: pre-wrap;
188 | background-color: #fff;
189 | flex: 1;
190 | }
191 |
192 | .optionPill2 {
193 | display: flex;
194 | border-radius: 4px;
195 | margin: 6px 0px 6px 6px;
196 | border: 1px solid transparent;
197 | align-self: flex-start;
198 | background-color: #E3E5E8;
199 | justify-content: flex-start;
200 | vertical-align: top;
201 | max-width: calc(100% - 30px);
202 | margin-top: 6px;
203 | }
204 |
205 | .optionPillKey2 {
206 | display: inline-block;
207 | padding: 1px 8px;
208 | border-top-left-radius: 4px;
209 | border-bottom-left-radius: 4px;
210 | user-select: none;
211 | flex-shrink: 0;
212 | }
213 |
214 | .optionPillValue2 {
215 | display: block;
216 | padding: 1px 8px;
217 | white-space: pre-wrap;
218 | background-color: #fff;
219 | flex: 1;
220 | }
221 | }
222 |
223 | /* Dark Theme */
224 | .dark {
225 |
226 | /* Content ref large */
227 | .content-ref {
228 | display: flex;
229 | flex-flow: row nowrap;
230 | align-items: center;
231 | justify-content: space-between;
232 | padding: 16px;
233 | margin: 16px 0;
234 | background-color: var(--vp-c-default-soft);
235 | border-radius: 12px;
236 | box-shadow: none;
237 | transition: box-shadow 0.25s;
238 | }
239 |
240 | .content-ref:hover {
241 | box-shadow: var(--vp-shadow-2);
242 | }
243 |
244 | .content-ref-section-title {
245 | display: block;
246 | font-size: 0.9rem;
247 | text-transform: uppercase;
248 | color: var(--vp-c-text-3);
249 | }
250 |
251 | .content-ref-page-title {
252 | display: block;
253 | font-size: 1.2rem;
254 | color: var(--brand-white);
255 | transition: color 0.25s;
256 | }
257 |
258 | .content-ref:hover .content-ref-page-title {
259 | color: var(--brand-primary);
260 | }
261 |
262 | .content-ref-svg {
263 | color: var(--brand-white);
264 | transition: color 0.25s;
265 | }
266 |
267 | .content-ref:hover .content-ref-svg {
268 | color: var(--brand-primary);
269 | }
270 |
271 | /* Content ref small */
272 | .content-ref-s {
273 | display: flex;
274 | flex-flow: row nowrap;
275 | align-items: center;
276 | justify-content: space-between;
277 | padding: 16px;
278 | margin: 16px 0;
279 | background-color: var(--vp-c-default-soft);
280 | border-radius: 12px;
281 | box-shadow: none;
282 | transition: box-shadow 0.25s;
283 | }
284 |
285 | .content-ref-s:hover {
286 | box-shadow: var(--vp-shadow-2);
287 | }
288 |
289 | .content-ref-page-title-s {
290 | display: block;
291 | font-size: 1rem;
292 | color: var(--brand-white);
293 | transition: color 0.25s;
294 | }
295 |
296 | .content-ref-s:hover .content-ref-page-title-s {
297 | color: var(--brand-primary);
298 | }
299 |
300 | .content-ref-svg-s {
301 | color: var(--brand-white);
302 | transition: color 0.25s;
303 | }
304 |
305 | .content-ref-s:hover .content-ref-svg-s {
306 | color: var(--brand-primary);
307 | }
308 |
309 | /* Application Command Dark Theme*/
310 | .applicationCommand {
311 | color: #dbdee1;
312 | font-size: 14px;
313 | display: flex;
314 | flex-wrap: wrap;
315 | font-family: 'Noto Sans', sans-serif;
316 | border-radius: 8px;
317 | background-color: #40444b;
318 | }
319 |
320 | .applicationCommandIcon {
321 | width: 20px;
322 | height: 20px;
323 | margin: 8px 14px 8px 14px;
324 | position: sticky;
325 | }
326 |
327 | .applicationCommandName {
328 | font-weight: 600;
329 | margin-left: 4px;
330 | padding: 8px 0px 0px;
331 | }
332 |
333 | .optionPill {
334 | display: flex;
335 | border-radius: 4px;
336 | margin: 6px 0px 6px 6px;
337 | border: 1px solid transparent;
338 | align-self: flex-start;
339 | background-color: #101113;
340 | justify-content: flex-start;
341 | vertical-align: top;
342 | max-width: calc(100% - 30px);
343 | margin-top: 6px;
344 | }
345 |
346 | .optionPillKey {
347 | display: inline-block;
348 | padding: 1px 8px;
349 | border-top-left-radius: 4px;
350 | border-bottom-left-radius: 4px;
351 | user-select: none;
352 | flex-shrink: 0;
353 | }
354 |
355 | .optionPillValue {
356 | display: block;
357 | padding: 1px 8px;
358 | white-space: pre-wrap;
359 | background-color: #222226;
360 | flex: 1;
361 | }
362 |
363 | .optionPill2 {
364 | display: flex;
365 | border-radius: 4px;
366 | margin: 6px 0px 6px 6px;
367 | border: 1px solid transparent;
368 | align-self: flex-start;
369 | background-color: #101113;
370 | justify-content: flex-start;
371 | vertical-align: top;
372 | max-width: calc(100% - 30px);
373 | margin-top: 6px;
374 | }
375 |
376 | .optionPillKey2 {
377 | display: inline-block;
378 | padding: 1px 8px;
379 | border-top-left-radius: 4px;
380 | border-bottom-left-radius: 4px;
381 | user-select: none;
382 | flex-shrink: 0;
383 | }
384 |
385 | .optionPillValue2 {
386 | display: block;
387 | padding: 1px 8px;
388 | white-space: pre-wrap;
389 | background-color: #222226;
390 | flex: 1;
391 | }
392 | }
393 |
--------------------------------------------------------------------------------
/docs/.vitepress/theme/index.ts:
--------------------------------------------------------------------------------
1 | // https://vitepress.dev/guide/custom-theme
2 | import { h } from 'vue'
3 | import Theme from 'vitepress/theme'
4 | import '@theme/style.css'
5 | import '@theme/custom.css'
6 |
7 | import {
8 | DiscordButton,
9 | DiscordButtons,
10 | DiscordEmbed,
11 | DiscordEmbedField,
12 | DiscordEmbedFields,
13 | DiscordInteraction,
14 | DiscordMarkdown,
15 | DiscordMention,
16 | DiscordMessage,
17 | DiscordMessages,
18 | DiscordReaction,
19 | DiscordReactions,
20 | install as DiscordMessageComponents,
21 | } from '@discord-message-components/vue';
22 | import '@discord-message-components/vue/dist/style.css';
23 |
24 | import Footer from './components/Footer.vue'
25 | import ApplicationCommands from './components/ApplicationCommands.vue'
26 |
27 | export default {
28 | extends: Theme,
29 | Layout: () => {
30 | return h(Theme.Layout, null, {
31 | // https://vitepress.dev/guide/extending-default-theme#layout-slots
32 | 'sidebar-nav-after': () => h(Footer)
33 | })
34 | },
35 | enhanceApp({ app }) {
36 | app.use(DiscordMessageComponents, {
37 | profiles: {
38 | user: {
39 | author: 'Test User',
40 | avatar: "https://i.imgur.com/9HlPIUx.jpg",
41 | },
42 | bot: {
43 | author: 'Senchabot',
44 | avatar: "https://avatars.githubusercontent.com/u/125701962",
45 | bot: true,
46 | },
47 | },
48 | });
49 |
50 | app.component('ApplicationCommands', ApplicationCommands);
51 |
52 | app.component('DiscordButton', DiscordButton);
53 | app.component('DiscordButtons', DiscordButtons);
54 | app.component('DiscordEmbed', DiscordEmbed);
55 | app.component('DiscordEmbedField', DiscordEmbedField);
56 | app.component('DiscordEmbedFields', DiscordEmbedFields);
57 | app.component('DiscordInteraction', DiscordInteraction);
58 | app.component('DiscordMarkdown', DiscordMarkdown);
59 | app.component('DiscordMention', DiscordMention);
60 | app.component('DiscordMessage', DiscordMessage);
61 | app.component('DiscordMessages', DiscordMessages);
62 | app.component('DiscordReaction', DiscordReaction);
63 | app.component('DiscordReactions', DiscordReactions);
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/docs/.vitepress/theme/style.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Customize default theme styling by overriding CSS variables:
3 | * https://github.com/vuejs/vitepress/blob/main/src/client/theme-default/styles/vars.css
4 | */
5 |
6 | /**
7 | * Colors
8 | *
9 | * Each colors have exact same color scale system with 3 levels of solid
10 | * colors with different brightness, and 1 soft color.
11 | *
12 | * - `XXX-1`: The most solid color used mainly for colored text. It must
13 | * satisfy the contrast ratio against when used on top of `XXX-soft`.
14 | *
15 | * - `XXX-2`: The color used mainly for hover state of the button.
16 | *
17 | * - `XXX-3`: The color for solid background, such as bg color of the button.
18 | * It must satisfy the contrast ratio with pure white (#ffffff) text on
19 | * top of it.
20 | *
21 | * - `XXX-soft`: The color used for subtle background such as custom container
22 | * or badges. It must satisfy the contrast ratio when putting `XXX-1` colors
23 | * on top of it.
24 | *
25 | * The soft color must be semi transparent alpha channel. This is crucial
26 | * because it allows adding multiple "soft" colors on top of each other
27 | * to create a accent, such as when having inline code block inside
28 | * custom containers.
29 | *
30 | * - `default`: The color used purely for subtle indication without any
31 | * special meanings attched to it such as bg color for menu hover state.
32 | *
33 | * - `brand`: Used for primary brand colors, such as link text, button with
34 | * brand theme, etc.
35 | *
36 | * - `tip`: Used to indicate useful information. The default theme uses the
37 | * brand color for this by default.
38 | *
39 | * - `warning`: Used to indicate warning to the users. Used in custom
40 | * container, badges, etc.
41 | *
42 | * - `danger`: Used to show error, or dangerous message to the users. Used
43 | * in custom container, badges, etc.
44 | * -------------------------------------------------------------------------- */
45 |
46 | :root {
47 | --brand-primary: #20ab8c;
48 | --brand-secondary: #003b43;
49 | --brand-black: #0b0e15;
50 | --brand-white: #ecfffa;
51 |
52 | --discord-brand: #5865f2;
53 | --twitch-brand: #9146FF;
54 |
55 | --vp-c-default-1: var(--vp-c-gray-1);
56 | --vp-c-default-2: var(--vp-c-gray-2);
57 | --vp-c-default-3: var(--vp-c-gray-3);
58 | --vp-c-default-soft: var(--vp-c-gray-soft);
59 |
60 | --vp-c-brand-1: var(--brand-secondary);
61 | --vp-c-brand-2: var(--brand-primary);
62 | --vp-c-brand-3: var(--brand-primary);
63 | --vp-c-brand-soft: var(--vp-c-indigo-soft);
64 |
65 | --vp-c-tip-1: var(--vp-c-brand-1);
66 | --vp-c-tip-2: var(--vp-c-brand-2);
67 | --vp-c-tip-3: var(--vp-c-brand-3);
68 | --vp-c-tip-soft: var(--vp-c-brand-soft);
69 |
70 | --vp-c-warning-1: var(--vp-c-yellow-1);
71 | --vp-c-warning-2: var(--vp-c-yellow-2);
72 | --vp-c-warning-3: var(--vp-c-yellow-3);
73 | --vp-c-warning-soft: var(--vp-c-yellow-soft);
74 |
75 | --vp-c-danger-1: var(--vp-c-red-1);
76 | --vp-c-danger-2: var(--vp-c-red-2);
77 | --vp-c-danger-3: var(--vp-c-red-3);
78 | --vp-c-danger-soft: var(--vp-c-red-soft);
79 |
80 | --vp-badge-info-border: var(--brand-black);
81 | --vp-badge-info-text: var(--brand-black);
82 | --vp-badge-info-bg: var(--vp-c-default-soft);
83 |
84 | --vp-badge-tip-border: var(--brand-black);
85 | --vp-badge-tip-text: var(--brand-black);
86 | --vp-badge-tip-bg: rgba(32, 171, 140, 0.5);
87 |
88 | --vp-badge-warning-border: transparent;
89 | --vp-badge-warning-text: var(--brand-white);
90 | --vp-badge-warning-bg: var(--vp-c-yellow-3);
91 |
92 | --vp-badge-danger-border: transparent;
93 | --vp-badge-danger-text: var(--brand-white);
94 | --vp-badge-danger-bg: var(--vp-c-danger-1);
95 | }
96 |
97 | .dark {
98 | --vp-c-default-1: var(--vp-c-gray-1);
99 | --vp-c-default-2: var(--vp-c-gray-2);
100 | --vp-c-default-3: var(--vp-c-gray-3);
101 | --vp-c-default-soft: var(--vp-c-gray-soft);
102 |
103 | --vp-c-brand-1: var(--brand-primary);
104 | --vp-c-brand-2: var(--brand-white);
105 | --vp-c-brand-3: var(--brand-secondary);
106 | --vp-c-brand-soft: var(--vp-c-indigo-soft);
107 |
108 | --vp-c-tip-1: var(--vp-c-brand-1);
109 | --vp-c-tip-2: var(--vp-c-brand-2);
110 | --vp-c-tip-3: var(--vp-c-brand-3);
111 | --vp-c-tip-soft: var(--vp-c-brand-soft);
112 |
113 | --vp-c-warning-1: var(--vp-c-yellow-1);
114 | --vp-c-warning-2: var(--vp-c-yellow-2);
115 | --vp-c-warning-3: var(--vp-c-yellow-3);
116 | --vp-c-warning-soft: var(--vp-c-yellow-soft);
117 |
118 | --vp-c-danger-1: var(--vp-c-red-1);
119 | --vp-c-danger-2: var(--vp-c-red-2);
120 | --vp-c-danger-3: var(--vp-c-red-3);
121 | --vp-c-danger-soft: var(--vp-c-red-soft);
122 |
123 | --vp-badge-info-border: transparent;
124 | --vp-badge-info-text: var(--brand-white);
125 | --vp-badge-info-bg: var(--vp-c-default-soft);
126 |
127 | --vp-badge-tip-border: transparent;
128 | --vp-badge-tip-text: var(--brand-white);
129 | --vp-badge-tip-bg: rgba(32, 171, 140, 0.3);
130 |
131 | --vp-badge-warning-border: transparent;
132 | --vp-badge-warning-text: var(--vp-c-yellow-1);
133 | --vp-badge-warning-bg: var(--vp-c-yellow-soft);
134 |
135 | --vp-badge-danger-border: transparent;
136 | --vp-badge-danger-text: var(--vp-c-red-1);
137 | --vp-badge-danger-bg: var(--vp-c-red-soft);
138 | }
139 |
140 | /**
141 | * Component: Button
142 | * -------------------------------------------------------------------------- */
143 |
144 | :root {
145 | --vp-button-brand-border: transparent;
146 | --vp-button-brand-text: var(--vp-c-white);
147 | --vp-button-brand-bg: var(--vp-c-brand-3);
148 | --vp-button-brand-hover-border: transparent;
149 | --vp-button-brand-hover-text: var(--vp-c-white);
150 | --vp-button-brand-hover-bg: var(--vp-c-brand-2);
151 | --vp-button-brand-active-border: transparent;
152 | --vp-button-brand-active-text: var(--vp-c-white);
153 | --vp-button-brand-active-bg: var(--vp-c-brand-1);
154 | }
155 |
156 | /**
157 | * Component: Home
158 | * -------------------------------------------------------------------------- */
159 |
160 | :root {
161 | --vp-home-hero-name-color: transparent;
162 | --vp-home-hero-name-background: -webkit-linear-gradient(120deg,
163 | #20ab8c 30%,
164 | #003b43);
165 |
166 | --vp-home-hero-image-background-image: linear-gradient(-45deg,
167 | #20ab8c 50%,
168 | #003b43 50%);
169 | --vp-home-hero-image-filter: blur(40px);
170 | }
171 |
172 | @media (min-width: 640px) {
173 | :root {
174 | --vp-home-hero-image-filter: blur(56px);
175 | }
176 | }
177 |
178 | @media (min-width: 960px) {
179 | :root {
180 | --vp-home-hero-image-filter: blur(72px);
181 | }
182 | }
183 |
184 | /**
185 | * Component: Custom Block
186 | * -------------------------------------------------------------------------- */
187 |
188 | :root {
189 | --vp-custom-block-info-border: var(--brand-black);
190 | --vp-custom-block-info-text: var(--brand-black);
191 | --vp-custom-block-info-bg: var(--vp-c-default-soft);
192 | --vp-custom-block-info-code-bg: var(--vp-c-default-soft);
193 |
194 | /* --vp-custom-block-tip-border: transparent; */
195 | --vp-custom-block-tip-border: var(--brand-black);
196 | --vp-custom-block-tip-text: var(--brand-black);
197 | --vp-custom-block-tip-bg: rgba(32, 171, 140, 0.5);
198 | --vp-custom-block-tip-code-bg: rgba(32, 171, 140, 0.3);
199 |
200 | --vp-custom-block-warning-border: var(--vp-c-yellow-1);
201 | --vp-custom-block-warning-text: var(--brand-black);
202 | --vp-custom-block-warning-bg: var(--vp-c-yellow-soft);
203 | --vp-custom-block-warning-code-bg: var(--vp-c-brand-soft);
204 |
205 | --vp-custom-block-danger-border: var(--vp-c-red-3);
206 | --vp-custom-block-danger-text: var(--brand-black);
207 | --vp-custom-block-danger-bg: var(--vp-c-red-soft);
208 | --vp-custom-block-danger-code-bg: var(--vp-c-red-soft);
209 | }
210 |
211 | .dark {
212 | --vp-custom-block-info-border: var(--brand-black);
213 | --vp-custom-block-info-text: var(--brand-white);
214 | --vp-custom-block-info-bg: var(--vp-c-default-soft);
215 | --vp-custom-block-info-code-bg: var(--vp-c-default-soft);
216 |
217 | /* --vp-custom-block-tip-border: transparent; */
218 | --vp-custom-block-tip-border: var(--brand-primary);
219 | --vp-custom-block-tip-text: var(--brand-white);
220 | --vp-custom-block-tip-bg: rgba(32, 171, 140, 0.3);
221 | --vp-custom-block-tip-code-bg: rgba(32, 171, 140, 0.3);
222 |
223 | --vp-custom-block-warning-border: var(--vp-c-yellow-1);
224 | --vp-custom-block-warning-text: var(--brand-white);
225 | --vp-custom-block-warning-bg: var(--vp-c-yellow-soft);
226 | --vp-custom-block-warning-code-bg: var(--vp-c-brand-soft);
227 |
228 | --vp-custom-block-danger-border: var(--vp-c-red-3);
229 | --vp-custom-block-danger-text: var(--brand-white);
230 | --vp-custom-block-danger-bg: var(--vp-c-red-soft);
231 | --vp-custom-block-danger-code-bg: var(--vp-c-red-soft);
232 | }
233 |
234 | /**
235 | * Component: Algolia
236 | * -------------------------------------------------------------------------- */
237 |
238 | .DocSearch {
239 | --docsearch-primary-color: var(--vp-c-brand-1) !important;
240 | }
--------------------------------------------------------------------------------
/docs/MARKDOWN-EXTENSIONS.md:
--------------------------------------------------------------------------------
1 | ---
2 | outline: deep
3 | ---
4 |
5 | # Markdown Usages
6 |
7 |
8 |
9 | **Here you can find syntaxes and example usages according to the criteria we have set to contribute.**
10 |
11 |
12 |
13 | ## Links
14 |
15 | Both internal and external links gets special treatments.
16 |
17 | ### External Links
18 |
19 | ```
20 | https://senchabot.app
21 | ```
22 |
23 | ```md
24 | Here our cool [website](https://senchabot.app)
25 | ```
26 |
27 |
28 |
29 | Here our cool [website](https://senchabot.app)
30 |
31 |
32 |
33 | ### Internal Links
34 |
35 | Internal links are converted to router link for SPA navigation. Also, every `index.md` contained in each sub-directory will automatically be converted to `index.html`, with corresponding URL `/`.
36 |
37 | For example, given the following directory structure:
38 |
39 | ```
40 | .
41 | ├─ index.md
42 | ├─ foo
43 | │ ├─ index.md
44 | │ ├─ one.md
45 | │ └─ two.md
46 | └─ bar
47 | ├─ index.md
48 | ├─ three.md
49 | └─ four.md
50 | ```
51 |
52 | And providing you are in `foo/one.md`:
53 |
54 | ```md
55 | [Home](/)
56 | [foo](/foo/)
57 | [foo heading](./#heading)
58 | [bar - three](../bar/three)
59 | [bar - three](../bar/three.md)
60 | [bar - four](../bar/four.html)
61 | ```
62 |
63 | ## Badge
64 |
65 | The badge lets you add status to your headers.
66 |
67 | ```html
68 | ### Title
69 | ### Title
70 | ### Title
71 | ### Title
72 | ```
73 |
74 | Code above renders like:
75 |
76 | **custom element**
77 |
78 | **Title**
79 |
80 | **Cool NEW feature**
81 |
82 | **Pre-Alpha**
83 |
84 | ## Custom Containers
85 |
86 | Custom containers can be defined by their types, titles, and contents.
87 |
88 | ### Default Title
89 |
90 | **Input**
91 |
92 | ```md
93 | ::: info
94 | This is an info box.
95 | :::
96 |
97 | ::: tip
98 | This is a tip.
99 | :::
100 |
101 | ::: warning
102 | This is a warning.
103 | :::
104 |
105 | ::: danger
106 | This is a dangerous warning.
107 | :::
108 |
109 | ::: details
110 | This is a details block.
111 | :::
112 | ```
113 |
114 | **Output**
115 |
116 | ::: info
117 | This is an info box.
118 | :::
119 |
120 | ::: tip
121 | This is a tip.
122 | :::
123 |
124 | ::: warning
125 | This is a warning.
126 | :::
127 |
128 | ::: danger
129 | This is a dangerous warning.
130 | :::
131 |
132 | ::: details
133 | This is a details block.
134 | :::
135 |
136 | ### Custom Title
137 |
138 | You may set custom title by appending the text right after the "type" of the container.
139 |
140 | **Input**
141 |
142 | ````md
143 | ::: danger STOP
144 | Danger zone, do not proceed
145 | :::
146 |
147 | ::: details Click me to view the code
148 |
149 | ```js
150 | !invite[your_channel_name];
151 | ```
152 |
153 | :::
154 | ````
155 |
156 | **Output**
157 |
158 | ::: danger STOP
159 | Danger zone, do not proceed
160 | :::
161 |
162 | ::: details Click me to view the code
163 |
164 | ```js
165 | !invite[your_channel_name];
166 | ```
167 |
168 | :::
169 |
170 | ### Custom Block
171 |
172 | You can use it with `` block tag
173 |
174 | **Input**
175 |
176 | ```js
177 |
178 | This is an info box.
179 |
180 |
181 |
182 | This is an info box.
183 |
184 |
185 |
186 | This is an info box.
187 |
188 |
189 |
190 | This is an info box.
191 |
192 |
193 |
194 | This is an info box.
195 |
196 | ```
197 |
198 | **Output**
199 |
200 |
201 | This is an info box.
202 |
203 |
204 |
205 | This is an tip box.
206 |
207 |
208 |
209 | This is an warning box.
210 |
211 |
212 |
213 | This is an danger box.
214 |
215 |
216 |
217 | This is an details box.
218 |
219 |
220 | ## Buttons
221 |
222 | We have custom button style
223 |
224 | ### Large Button Style
225 |
226 | **Input**
227 |
228 | ```js
229 |
230 |
239 | ```
240 |
241 | **Output**
242 |
243 |
244 |
253 |
254 | ### Small Button Style
255 |
256 | **Input**
257 |
258 | ```js
259 |
260 |
268 | ```
269 |
270 | **Output**
271 |
272 |
273 |
281 |
282 | ## Discord
283 | ### Discord Application Commands Style
284 |
285 | We use a special component for Discord application commands.
286 |
287 | **Input**
288 |
289 | ```js
290 |
296 |
297 | ```
298 |
299 | **Output**
300 |
301 |
307 |
308 |
309 | You can also use it with two options:
310 |
311 | **Input**
312 |
313 | ```js
314 |
322 |
323 | ```
324 |
325 | **Output**
326 |
327 |
335 |
336 |
337 | ### Displaying Discord messages
338 |
339 | We use [@discord-message-components/vue](https://github.com/Danktuary/discord-message-components/blob/main/packages/vue/README.md) to display "fake" Discord messages on pages. The reason for this is to make it easy for you to create, easy for anyone in the future to edit, and avoid having to take screenshots and using too many images on a page at once. Here's a preview of the components:
340 |
341 |
342 |
343 | !ping
344 |
345 |
346 | , pong! Took 50ms
347 |
348 |
349 |
350 | The syntax to make this display is quite simple as well:
351 |
352 | ```js
353 |
354 |
355 | !ping
356 |
357 |
358 | , pong! Took 50ms
359 |
360 |
361 | ```
362 | #### Custom Command Messages
363 |
364 | **Input**
365 | ```js
366 |
367 |
368 | !ping
369 |
370 |
371 | pong! Took 50ms
372 |
373 |
374 | ```
375 | **Output**
376 |
377 |
378 | !ping
379 |
380 |
381 | pong! Took 50ms
382 |
383 |
384 |
385 | #### Slash Command messages
386 |
387 | **`ephemeral` Version**
388 |
389 | **Input**
390 |
391 | ```js
392 |
393 |
394 |
395 | input
396 |
397 |
398 | OUTPUT
399 |
400 |
401 |
402 | ```
403 |
404 | **Output**
405 |
406 |
407 |
408 |
409 | input
410 |
411 |
412 |
413 | OUTPUT
414 |
415 |
416 |
417 |
418 | **`highlight` Version**
419 |
420 | **Input**
421 |
422 | ```js
423 |
424 |
425 |
426 | input
427 |
428 |
429 | OUTPUT
430 |
431 |
432 |
433 | ```
434 |
435 | **Output**
436 |
437 |
438 |
439 |
440 | input
441 |
442 |
443 |
444 | OUTPUT
445 |
446 |
447 |
448 |
449 | ### Embed messages
450 |
451 | **Input**
452 |
453 | ```js
454 |
455 |
456 | everyone , TestUser is live on Twitch! Go check it out!
457 |
458 |
464 |
465 |
466 |
467 |
468 | ```
469 |
470 | **Output**
471 |
472 |
473 |
474 | everyone , TestUser is live on Twitch! Go check it out!
475 |
476 |
482 |
483 |
484 |
485 |
486 |
487 | These components are made with [Vue](https://vuejs.org/), but if you aren't familiar with Vue, don't worry about it. Just understand that you'll usually only need the `profile="user"`/`profile="bot"` attribute for the `
` component. All `` components must be children of a single `` component for it to display properly.
488 |
489 | Do note the casing in `` syntax instead of ``. This is due to how VuePress renders markdown and HTML inside markdown files. It doesn't recognize `` as an HTML element, therefore rendering anything indented inside it as a regular code block.
490 |
491 | These components feature messages, mentions, embeds, interactions, and more. You can read more about how to use them by checking out [@discord-message-components/vue](https://github.com/Danktuary/discord-message-components/blob/main/packages/vue/README.md).
492 |
493 | ## Advanced
494 |
495 | This docs uses [markdown-it](https://github.com/markdown-it/markdown-it) as the Markdown renderer.
496 |
--------------------------------------------------------------------------------
/docs/discord-bot/commands.md:
--------------------------------------------------------------------------------
1 | # Commands
2 |
3 | ## Global Commands
4 |
5 | | Command | Response |
6 | | :----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
7 | | invite | Senchabot Discord bot invite url. |
8 | | cmds | {channel.name}'s Channel Commands: ... |
9 | | help | Senchabot's Commands: cmds, acmd, dcmd, ucmd, acmda, dcmda, sozluk, ping, invite, help. |
10 | | senchabot | An open-source, multi-platform bot designed for seamless integration with Twitch and Discord • [senchabot.app](https://senchabot.app) • [github.com/senchabot-opensource/monorepo](https://github.com/senchabot-opensource/monorepo) |
11 | | kampus | discord.gg/kampus - github.com/kamp-us |
12 | | frontendship | discord.gg/frontendship |
13 | | ping | pong! VoHiYo
14 |
15 |
16 |
29 |
30 | ## Module Commands
31 |
32 |
33 |
34 |
42 |
43 |
44 |
45 |
53 |
54 |
55 |
56 |
64 |
65 |
66 |
67 |
75 |
76 |
77 |
78 | ::: info Cooldown System
79 | Command usage cooldown time is 2 seconds per user.
80 | :::
81 |
--------------------------------------------------------------------------------
/docs/discord-bot/custom-api-system.md:
--------------------------------------------------------------------------------
1 | ---
2 | outline: [2, 3]
3 | ---
4 |
5 | # Custom API System
6 |
7 | This system allows you to send a GET request to a URL through the specified template and receive a response through a custom command you have added to your channel.
8 |
9 | ```
10 | {customapi.https://...}
11 | ```
12 |
13 | #### Adding Commands to Your Server
14 |
15 | ```
16 | !acmd [command_name] [command_content {customapi.https://...}]
17 | ```
18 |
19 | ## What You Can Do with Custom API
20 |
21 | ### Display the Currently Playing Song on Spotify
22 |
23 |
24 |
25 |
34 |
35 | ```
36 | {customapi.https://spotify.aidenwallis.co.uk/u/...}
37 | ```
38 |
39 | ::: info Example Command Add
40 |
41 |
42 |
43 | !acmd song Currently Playing: {customapi.https://spotify.aidenwallis.co.uk/u/...}
44 |
45 |
46 | New Command Added: song
47 |
48 |
49 | :::
50 |
51 | ::: details Example Usage
52 |
53 |
54 |
55 | !song
56 |
57 |
58 | Currently Playing: ANGELPLAYA - DANGEROUS
59 |
60 |
61 | :::
62 |
63 | ::: info Adding Spotify Widget to Your Stream
64 |
65 | Use the link in the format `https://nowplaying.aidenwallis.co.uk/...` under the title "_Now Playing Widget_" on Aiden Wallis' website as a _browser source_ in your streaming software (OBS Studio, Streamlabs...).
66 |
67 | :::
68 |
69 | ### Generate Random Text
70 |
71 | ```
72 | {customapi.https://techy-api.vercel.app/api/text}
73 | ```
74 | ::: info Example Command Add
75 |
76 |
77 |
78 | !acmd text {customapi.https://techy-api.vercel.app/api/text}
79 |
80 |
81 | New Command Added: text
82 |
83 |
84 | :::
85 |
86 | ::: details Example Usage
87 |
88 |
89 |
90 | !text
91 |
92 |
93 | The hardest part was setting the traffic velocity
94 |
95 |
96 | :::
97 |
--------------------------------------------------------------------------------
/docs/discord-bot/custom-commands.md:
--------------------------------------------------------------------------------
1 | ---
2 | outline: [2, 3]
3 | ---
4 |
5 | # Custom Commands
6 |
7 | ## Server Commands
8 |
9 | ### Command Add
10 |
11 | ```
12 | !acmd [command_name] [command_content]
13 | ```
14 |
15 | ::: details Example Usage
16 |
17 |
18 |
19 |
20 | !acmd senchabot https://senchabot.app/
21 |
22 |
23 | New Command Added: senchabot
24 |
25 |
26 | :::
27 |
28 | ::: info Information
29 |
30 | In global commands, the [`!ucmd`](/twitch-bot/custom-commands#command-update) update command does not work. The `!lurk` command is an exception in this regard.
31 | :::
32 |
33 | ### Command Update
34 |
35 | ```
36 | !ucmd [command_name] [new_command_content]
37 | ```
38 |
39 | ::: details Example Usage
40 |
41 |
42 |
43 |
44 | !ucmd senchabot https://docs.senchabot.app
45 |
46 |
47 | Command Updated: senchabot
48 |
49 |
50 | :::
51 |
52 | ### Command Delete
53 |
54 | ```
55 | !dcmd [command_name]
56 | ```
57 |
58 | ::: details Example Usage
59 |
60 |
61 |
62 |
63 | !dcmd senchabot
64 |
65 |
66 | Command Deleted: senchabot
67 |
68 |
69 | :::
70 |
71 | ### Alias Add
72 |
73 | ```
74 | !acmda [command_name] [command_alias]
75 | ```
76 |
77 | ::: details Example Usage
78 |
79 |
80 |
81 |
82 | !acmda senchabot discord-bot
83 |
84 |
85 | New Command Aliases Added: discord-bot
86 |
87 |
88 | :::
89 |
90 | #### Add multiple aliases
91 |
92 | ```
93 | !acmda [command_name] [command_alias(es) separated by space]
94 | ```
95 |
96 | ::: details Example Usage
97 |
98 |
99 |
100 |
101 | !acmda senchabot discord-bot twitch-bot
102 |
103 |
104 | New Command Aliases Added: discord-bot, twitch-bot
105 |
106 |
107 | :::
108 |
109 | ### Alias Delete
110 |
111 | ```
112 | !dcmda [command_alias]
113 | ```
114 |
115 | ::: details Example Usage
116 |
117 |
118 |
119 |
120 | !dcmda discord-bot
121 |
122 |
123 | Command Alias Deleted: discord-bot
124 |
125 |
126 | :::
127 |
128 | #### Delete multiple aliases
129 |
130 | ```
131 | !dcmda [command_alias(es) separated by space]
132 | ```
133 |
134 | ::: details Example Usage
135 |
136 |
137 |
138 |
139 | !dcmda discord-bot twitch-bot
140 |
141 |
142 | Command Alias Deleted: discord-bot, twitch-bot
143 |
144 |
145 | :::
146 |
147 | ## Access to Server Commands
148 |
149 | ```
150 | !cmds
151 | ```
152 |
153 | ::: details Example Usage
154 |
155 |
156 |
157 |
158 | !cmds
159 |
160 |
161 | Commands: senchabot, discord, twitch, streamers
162 |
163 |
164 | :::
165 |
166 |
--------------------------------------------------------------------------------
/docs/discord-bot/getting-started.md:
--------------------------------------------------------------------------------
1 | # Getting Started
2 |
3 | ## Invite to Your Discord Server
4 |
5 |
6 |
7 |
15 |
16 | Then, give Senchabot the desired authorizations. _It is recommended to give the marked authorizations._
17 |
--------------------------------------------------------------------------------
/docs/discord-bot/live-stream-announcements.md:
--------------------------------------------------------------------------------
1 | ---
2 | outline: [2, 4]
3 | ---
4 |
5 | # Live Stream Announcements
6 |
7 | ## Live Stream and Broadcaster Custom Settings
8 |
9 | ### Adding a Streamer
10 |
11 |
17 |
18 |
19 | ::: details Example Usage
20 |
26 |
27 |
28 |
29 |
30 |
31 | set-twitch streamer
32 |
33 |
34 |
35 | `senchabot` kullanıcı adlı Twitch yayıncısının yayın duyuruları `twitch-streams` isimli yazı kanalı için aktif edildi.
36 |
37 |
38 |
39 | :::
40 |
41 | ::: info Information
42 |
43 | When adding a Twitch streamer, you must have previously added a default announcement channel with the `/set-twitch announcement default-channel`, or you can specify the channel name optionally.
44 | :::
45 |
46 | ### Customizing the Announcement Channel
47 |
48 | You can assign a custom announcement channel to streamers.
49 |
57 |
58 |
59 | ::: details Example Usage
60 |
68 |
69 |
70 |
71 |
72 |
73 | set-twitch streamer
74 |
75 |
76 |
77 | Live stream announcements for the Twitch user `senchabot` have been activated for the channel `twitch-streams`.
78 |
79 |
80 |
81 | :::
82 |
83 | ::: info Information
84 |
85 | If you don't specify the `channel` option when adding a streamer, the streamer's announcements will be sent to [the default announcement channel](#default-announcement-channel).
86 | :::
87 |
88 | ### Custom Announcement Messages
89 |
90 |
91 |
92 | #### Adding an Announcement Message
93 |
94 |
95 |
103 |
104 |
105 | ::: details Example Usage
106 |
114 |
115 |
116 |
117 |
118 |
119 | set-twitch announcement custom-content
120 |
121 |
122 |
123 | senchabot kullanıcı adlı Twitch yayıncısı için duyuru mesajı içeriği ayarlandı: `{twitch.username}, {stream.category} yayınına başladı! {stream.title} → {twitch.url}`
124 |
125 |
126 |
127 | :::
128 |
129 | #### Removing an Announcement Message
130 |
131 |
132 |
138 |
139 |
140 | ::: details Example Usage
141 |
147 |
148 |
149 |
150 |
151 |
152 | del-twitch announcement custom-content
153 |
154 |
155 |
156 | senchabot kullanıcı adlı Twitch yayıncısına özgü yayın duyuru mesajı silindi.
157 |
158 |
159 |
160 | :::
161 |
162 | ### Deleting a Streamer
163 |
164 |
165 |
171 |
172 |
173 | ::: details Example Usage
174 |
180 |
181 |
182 |
183 |
184 |
185 | del-twitch streamer
186 |
187 |
188 |
189 | The Twitch streamer `senchabot` has been deleted from the database.
190 |
191 |
192 |
193 | :::
194 |
195 | ## Default Announcement Channel
196 |
197 | When adding Twitch streamers without specifying the `channel` option, their announcements are made in the default announcement channel.
198 |
199 | ### Adding a Channel
200 |
201 |
207 |
208 |
209 | ::: details Example Usage
210 |
216 |
217 |
218 |
219 |
220 |
221 | set-twitch announcement default-channel
222 |
223 |
224 |
225 | The channel `twitch-streams` has been set-twitch as the default announcement channel.
226 |
227 |
228 |
229 | :::
230 |
231 | ### Removing the Channel
232 |
233 |
237 |
238 |
239 | ::: details Example Usage
240 |
244 |
245 |
246 |
247 |
248 |
249 | del-twitch announcement default-channel
250 |
251 |
252 |
253 | The default Twitch live stream announcement channel setting has been removed.
254 |
255 |
256 |
257 | :::
258 |
259 | ## Default Announcement Message
260 |
261 | ### Adding an Announcement Message
262 |
263 |
264 |
270 |
271 |
272 | ::: details Example Usage
273 |
279 |
280 |
281 |
282 |
283 |
284 | set-twitch announcement default-content
285 |
286 |
287 |
288 | Varsayılan yayın duyuru mesajı içeriği ayarlandı: `{twitch.username}, {stream.category} yayınına başladı! {stream.title} -> {twitch.url}`
289 |
290 |
291 |
292 | :::
293 |
294 | ### Removing the Announcement Message
295 |
296 |
297 |
301 |
302 |
303 | ::: details Example Usage
304 |
308 |
309 |
310 |
311 |
312 |
313 | del-twitch announcement default-content
314 |
315 |
316 |
317 | Varsayılan yayın duyuru mesajı içeriği kaldırıldı. Özelleştirilmiş duyuru mesajı olmayan yayıncıların duyuruları belirtilen formatta gönderilecektir. `{twitch.username}, {stream.category} yayınına başladı! {stream.title}: {twitch.url}`
318 |
319 |
320 |
321 | :::
322 |
--------------------------------------------------------------------------------
/docs/discord-bot/live-stream-events.md:
--------------------------------------------------------------------------------
1 | # Live Stream Events
2 |
3 | Senchabot creates server activity by tracking [live stream announcements](/discord-bot/live-stream-announcements) in the specified channels.
4 |
5 | ## Selecting the Event Channel
6 |
7 | Choose the live stream announcements channel that Senchabot will monitor to create Discord events.
8 |
14 |
15 |
16 | ::: details Example Usage
17 |
23 |
24 |
25 |
26 |
27 |
28 | set-twitch event-channel
29 |
30 |
31 |
32 | The channel named `twitch-streams` has been added to the list for Twitch stream announcement events.
33 |
34 |
35 |
36 | :::
37 |
38 | ## Removing the Event Channel
39 |
40 | Remove the specified channel from the list of channels that Senchabot tracks.
41 |
42 |
48 |
49 |
50 | ::: details Example Usage
51 |
57 |
58 |
59 |
60 |
61 |
62 | del-twitch event-channel
63 |
64 |
65 |
66 | The text channel named `twitch-streams` has been removed from the list of stream event text channels.
67 |
68 |
69 |
70 | :::
71 |
--------------------------------------------------------------------------------
/docs/discord-bot/reminder-system.md:
--------------------------------------------------------------------------------
1 | # Reminder System
2 |
--------------------------------------------------------------------------------
/docs/discord-bot/variables.md:
--------------------------------------------------------------------------------
1 | Twitch Stream Variables
2 | {twitch.username}
3 | {twitch.url}
4 | {stream.title}
5 | {stream.category}
6 |
--------------------------------------------------------------------------------
/docs/getting-started.md:
--------------------------------------------------------------------------------
1 | # Getting Started
--------------------------------------------------------------------------------
/docs/index.md:
--------------------------------------------------------------------------------
1 | # Introduction
2 |
3 |
4 |
5 |
13 |
14 |
15 |
23 |
24 |
--------------------------------------------------------------------------------
/docs/public/16px/senchabot-16px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/senchabot-opensource/docs/06c9ba89a2afda6809558387b95add5f8de314fe/docs/public/16px/senchabot-16px.png
--------------------------------------------------------------------------------
/docs/public/16px/senchabot-nobg-1-16px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/senchabot-opensource/docs/06c9ba89a2afda6809558387b95add5f8de314fe/docs/public/16px/senchabot-nobg-1-16px.png
--------------------------------------------------------------------------------
/docs/public/16px/senchabot-nobg-16px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/senchabot-opensource/docs/06c9ba89a2afda6809558387b95add5f8de314fe/docs/public/16px/senchabot-nobg-16px.png
--------------------------------------------------------------------------------
/docs/public/32px/senchabot-32px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/senchabot-opensource/docs/06c9ba89a2afda6809558387b95add5f8de314fe/docs/public/32px/senchabot-32px.png
--------------------------------------------------------------------------------
/docs/public/32px/senchabot-nobg-1-32px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/senchabot-opensource/docs/06c9ba89a2afda6809558387b95add5f8de314fe/docs/public/32px/senchabot-nobg-1-32px.png
--------------------------------------------------------------------------------
/docs/public/32px/senchabot-nobg-32px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/senchabot-opensource/docs/06c9ba89a2afda6809558387b95add5f8de314fe/docs/public/32px/senchabot-nobg-32px.png
--------------------------------------------------------------------------------
/docs/public/64px/senchabot-64px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/senchabot-opensource/docs/06c9ba89a2afda6809558387b95add5f8de314fe/docs/public/64px/senchabot-64px.png
--------------------------------------------------------------------------------
/docs/public/64px/senchabot-nobg-1-64px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/senchabot-opensource/docs/06c9ba89a2afda6809558387b95add5f8de314fe/docs/public/64px/senchabot-nobg-1-64px.png
--------------------------------------------------------------------------------
/docs/public/64px/senchabot-nobg-64px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/senchabot-opensource/docs/06c9ba89a2afda6809558387b95add5f8de314fe/docs/public/64px/senchabot-nobg-64px.png
--------------------------------------------------------------------------------
/docs/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/senchabot-opensource/docs/06c9ba89a2afda6809558387b95add5f8de314fe/docs/public/favicon.ico
--------------------------------------------------------------------------------
/docs/public/senchabot-logo.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/senchabot-opensource/docs/06c9ba89a2afda6809558387b95add5f8de314fe/docs/public/senchabot-logo.ai
--------------------------------------------------------------------------------
/docs/public/svg/senchabot-nobg-1.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/docs/public/svg/senchabot-nobg.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/docs/public/svg/senchabot.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/docs/tr/discord-bot/commands.md:
--------------------------------------------------------------------------------
1 | # Komutlar
2 |
3 | ## Ön Tanımlı Komutlar
4 |
5 | | Komut | Senchabot'un Yanıtı |
6 | | :----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
7 | | invite | Senchabot'un sunucu davet linkini gönderir. |
8 | | cmds | {channel.name}'s Channel Commands: ... |
9 | | help | Senchabot's Commands: cmds, acmd, dcmd, ucmd, acmda, dcmda, sozluk, ping, invite, help. |
10 | | senchabot | An open-source, multi-platform bot designed for seamless integration with Twitch and Discord • [senchabot.app](https://senchabot.app) • [github.com/senchabot-opensource/monorepo](https://github.com/senchabot-opensource/monorepo) |
11 | | kampus | discord.gg/kampus - github.com/kamp-us |
12 | | frontendship | discord.gg/frontendship |
13 | | ping | pong! VoHiYo |
14 |
15 |
35 |
36 | ## Sözlük
37 |
38 | ```
39 | !sozluk [term_name]
40 | ```
41 |
42 | ::: details Örnek Kullanım
43 |
44 |
45 |
46 |
47 |
48 |
49 | !sozluk senchabot
50 |
51 |
52 |
53 |
54 | Senchabot: Açık kaynak Discord ve Twitch botu.
55 |
56 |
57 |
58 | :::
59 |
60 |
61 |
62 | ## Modül Komutları
63 |
64 |
65 |
66 |
74 |
75 |
76 |
77 |
85 |
86 |
87 |
88 |
96 |
97 |
98 |
99 |
107 |
108 |
109 |
110 | ::: info Cooldown Sistemi
111 | Komut kullanım bekleme süresi kullanıcı başına 2 saniyedir.
112 | :::
113 |
--------------------------------------------------------------------------------
/docs/tr/discord-bot/custom-api-system.md:
--------------------------------------------------------------------------------
1 | ---
2 | outline: [2, 3]
3 | ---
4 |
5 | # Custom API Sistemi
6 |
7 | Belirtilen şablon aracılığıyla bir URL'ye GET isteği göndermenize ve kanalınıza eklemiş olduğunuz özel komut aracılığıyla yanıt almanıza olanak tanıyan sistemdir.
8 |
9 | ```
10 | {customapi.https://...}
11 | ```
12 |
13 | #### Sunucuna Komut Ekle
14 |
15 | ```
16 | !acmd [komut_adı] [komut_içeriği {customapi.https://...}]
17 | ```
18 |
19 | ## Custom API'yle Yapılabilecekler
20 |
21 | ### Spotify'da Çalan Şarkıyı Göster
22 |
23 |
24 |
25 |
34 |
35 |
36 | ```
37 | {customapi.https://spotify.aidenwallis.co.uk/u/...}
38 | ```
39 | ::: info Örnek Komut Ekleme
40 |
41 |
42 |
43 | !acmd şarkı Şu An Çalan Şarkı: {customapi.https://spotify.aidenwallis.co.uk/u/...}
44 |
45 |
46 | New Command Added: şarkı
47 |
48 |
49 | :::
50 |
51 | ::: details Örnek Kullanım
52 |
53 |
54 |
55 | !şarkı
56 |
57 |
58 | Şu An Çalan Şarkı: ANGELPLAYA - DANGEROUS
59 |
60 |
61 | :::
62 |
63 | ::: info Yayınınıza Spotify Widgetı Ekleme
64 |
65 | Aiden Wallis'in sitesinde bulunan _Now Playin Widget_ başlığı altındaki `https://nowplaying.aidenwallis.co.uk/...` şeklindeki linki kullanmakta olduğunuz yayın aracına (OBS Studio, Streamlabs...) _tarayıcı kaynağı_ olarak ekleyiniz.
66 |
67 | :::
68 |
69 | ### Rastgele Metin Yazdırma
70 |
71 | ```
72 | {customapi.https://techy-api.vercel.app/api/text}
73 | ```
74 | ::: info Örnek Komut Ekleme
75 |
76 |
77 |
78 | !acmd metin {customapi.https://techy-api.vercel.app/api/text}.
79 |
80 |
81 | New Command Added: metin
82 |
83 |
84 | :::
85 |
86 | ::: details Örnek Kullanım
87 |
88 |
89 |
90 | !metin
91 |
92 |
93 | The hardest part was setting the traffic velocity
94 |
95 |
96 | :::
97 |
98 |
--------------------------------------------------------------------------------
/docs/tr/discord-bot/custom-commands.md:
--------------------------------------------------------------------------------
1 | ---
2 | outline: [2, 3]
3 | ---
4 |
5 | # Özel Komutlar
6 |
7 | ## Sunucu Komutları
8 |
9 | ### Komut Ekleme
10 |
11 | ```
12 | !acmd [komut_adı] [komut_içeriği]
13 | ```
14 |
15 | ::: details Örnek Kullanım
16 |
17 |
18 |
19 |
20 | !acmd senchabot https://senchabot.app/
21 |
22 |
23 | New Command Added: senchabot
24 |
25 |
26 | :::
27 |
28 | ### Komut Güncelleme
29 |
30 | ```
31 | !ucmd [komut_adı] [yeni_komut_içeriği]
32 | ```
33 |
34 | ::: details Örnek Kullanım
35 |
36 |
37 |
38 | !ucmd senchabot https://docs.senchabot.app
39 |
40 |
41 | Command Updated: senchabot
42 |
43 |
44 | :::
45 |
46 | ### Komut Silme
47 |
48 | ```
49 | !dcmd [komut_adı]
50 | ```
51 |
52 | ::: details Örnek Kullanım
53 |
54 |
55 |
56 | !dcmd senchabot
57 |
58 |
59 | Command Deleted: senchabot
60 |
61 |
62 | :::
63 |
64 | ### Alias Add
65 |
66 | ```
67 | !acmda [komut_adı] [komut_takma_adı]
68 | ```
69 |
70 | ::: details Örnek Kullanım
71 |
72 |
73 |
74 | !acmda senchabot discord-bot
75 |
76 |
77 | New Command Aliases Added: discord-bot
78 |
79 |
80 | :::
81 |
82 | #### Çoklu takma ad ekleme
83 |
84 | ```
85 | !acmda [komut_adı] [komut_takma_adları (boşluk bırakarak)]
86 | ```
87 |
88 | ::: details Örnek Kullanım
89 |
90 |
91 |
92 |
93 | !acmda senchabot discord-bot twitch-bot
94 |
95 |
96 | New Command Aliases Added: discord-bot, twitch-bot
97 |
98 |
99 | :::
100 |
101 | ### Takma Ad Silme
102 |
103 | ```
104 | !dcmda [komut_takma_adı]
105 | ```
106 |
107 | ::: details Örnek Kullanım
108 |
109 |
110 |
111 |
112 | !dcmda discord-bot
113 |
114 |
115 | Command Alias Deleted: discord-bot
116 |
117 |
118 | :::
119 |
120 | #### Çoklu takma ad silme
121 |
122 | ```
123 | !dcmda [komut_takma_adları (boşluk bırakarak)]
124 | ```
125 |
126 | ::: details Örnek Kullanım
127 |
128 |
129 |
130 |
131 | !dcmda discord-bot twitch-bot
132 |
133 |
134 | Command Alias Deleted: discord-bot, twitch-bot
135 |
136 |
137 | :::
138 |
139 | ## Kanal Komutlarına Erişim
140 |
141 | ```
142 | !cmds
143 | ```
144 |
145 | ::: details Örnek Yanıt
146 |
147 |
148 |
149 |
150 | !cmds
151 |
152 |
153 | Commands: senchabot, discord, twitch, streamers
154 |
155 |
156 | :::
157 |
--------------------------------------------------------------------------------
/docs/tr/discord-bot/getting-started.md:
--------------------------------------------------------------------------------
1 | # Senchabot - Discord Kullanım Kılavuzu
2 |
3 | ## Discord Sunucunuza Davet Edin
4 |
5 | Senchabot'u sunucunuza davet ediniz.
6 |
7 |
8 |
9 |
17 |
18 | Ardından dilediğiniz rolleri Senchabot'a veriniz. _İşaretli rollerin verilmesi önerilir._
19 |
--------------------------------------------------------------------------------
/docs/tr/discord-bot/live-stream-announcements.md:
--------------------------------------------------------------------------------
1 | ---
2 | outline: [2, 4]
3 | ---
4 |
5 | # Canlı Yayın Duyuruları
6 |
7 | ## Yayın ve Yayıncı Özel Ayarları
8 |
9 | ### Yayıncı Ekleme
10 |
11 |
17 |
18 |
19 | ::: details Örnek Kullanım
20 |
26 |
27 |
28 |
29 |
30 |
31 | set-twitch streamer
32 |
33 |
34 |
35 | `senchabot` kullanıcı adlı Twitch yayıncısının yayın duyuruları `twitch-streams` isimli yazı kanalı için aktif edildi.
36 |
37 |
38 |
39 | :::
40 |
41 | ::: info Bilgilendirme
42 |
43 | Twitch yayıncısı eklerken daha önce `/set-twitch announcement default-channel` komutuyla varsayılan duyuru kanalı eklemiş olmalı veya isteğe bağlı kanal adını belirtmelisiniz.
44 | :::
45 |
46 | ### Duyuru Kanalı Özelleştirme
47 |
48 | Yayıncılara özel duyuru kanalı atayabilirsininiz.
49 |
57 |
58 |
59 | ::: details Örnek Kullanım
60 |
68 |
69 |
70 |
71 |
72 |
73 | set-twitch streamer
74 |
75 |
76 |
77 | `senchabot` kullanıcı adlı Twitch yayıncısının yayın duyuruları `twitch-yayınları` isimli kanal için aktif edildi.
78 |
79 |
80 |
81 | :::
82 |
83 | ::: info Bilgilendirme
84 |
85 | Yayıncı eklenirken `channel` opsiyonu yazılmazsa yayıncının duyuru mesajları [varsayılan duyuru kanalına](#varsayılan-duyuru-kanalı) gönderilir.
86 | :::
87 |
88 | ### Özelleştirilmiş Duyuru Mesajı
89 |
90 |
98 |
99 |
100 | ::: details Örnek Kullanım
101 |
109 |
110 |
111 |
112 |
113 |
114 | set-twitch announcement custom-content
115 |
116 |
117 |
118 | senchabot kullanıcı adlı Twitch yayıncısı için duyuru mesajı içeriği ayarlandı: `{twitch.username}, {stream.category} yayınına başladı! {stream.title} → {twitch.url}`
119 |
120 |
121 |
122 | :::
123 |
124 | #### Duyuru Mesajını Kaldırma
125 |
126 |
127 |
133 |
134 |
135 | ::: details Örnek Kullanım
136 |
142 |
143 |
144 |
145 |
146 |
147 | del-twitch announcement custom-content
148 |
149 |
150 |
151 | senchabot kullanıcı adlı Twitch yayıncısına özgü yayın duyuru mesajı silindi.
152 |
153 |
154 |
155 | :::
156 |
157 | ### Yayıncı Silme
158 |
159 |
160 |
166 |
167 |
168 | ::: details Örnek Kullanım
169 |
175 |
176 |
177 |
178 |
179 |
180 | del-twitch streamer
181 |
182 |
183 |
184 | `senchabot` kullanıcı adlı Twitch streamer veritabanından silindi.
185 |
186 |
187 |
188 | :::
189 |
190 | ## Varsayılan Duyuru Kanalı
191 |
192 | Twitch yayıncıları eklenirken `channel` opsiyonu girilmediğinde yayıncıların duyuruları varsayılan duyuru kanalında yapılır.
193 |
194 | ### Kanal Ekleme
195 |
196 |
202 |
203 |
204 | ::: details Örnek Kullanım
205 |
211 |
212 |
213 |
214 |
215 |
216 | set-twitch announcement default-channel
217 |
218 |
219 |
220 | `twitch-yayınları` isimli kanal varsayılan duyuru kanalı olarak ayarlandı.
221 |
222 |
223 |
224 | :::
225 |
226 | ### Kanalı Kaldırma
227 |
228 |
232 |
233 |
234 | ::: details Örnek Kullanım
235 |
239 |
240 |
241 |
242 |
243 |
244 | del-twitch announcement default-channel
245 |
246 |
247 |
248 | Varsayılan Twitch canlı yayın duyuru kanalı ayarı kaldırıldı.
249 |
250 |
251 |
252 | :::
253 |
254 | ## Varsayılan Duyuru Mesajı
255 |
256 | ### Duyuru Mesajı Ekleme
257 |
258 |
259 |
265 |
266 |
267 | ::: details Örnek Kullanım
268 |
274 |
275 |
276 |
277 |
278 |
279 | set-twitch announcement default-content
280 |
281 |
282 |
283 | Yayın duyuru mesajı içeriği ayarlandı: `{twitch.username}, {stream.category} yayınına başladı! {stream.title} -> {twitch.url}`
284 |
285 |
286 |
287 | :::
288 |
289 | ### Duyuru Mesajını Kaldırma
290 |
291 |
292 |
296 |
297 |
298 | ::: details Örnek Kullanım
299 |
303 |
304 |
305 |
306 |
307 |
308 | del-twitch announcement default-content
309 |
310 |
311 |
312 | Varsayılan yayın duyuru mesajı içeriği kaldırıldı. Özelleştirilmiş duyuru mesajı olmayan yayıncıların duyuruları belirtilen formatta gönderilecektir. `{twitch.username}, {stream.category} yayınına başladı! {stream.title}: {twitch.url}`
313 |
314 |
315 |
316 | :::
317 |
--------------------------------------------------------------------------------
/docs/tr/discord-bot/live-stream-events.md:
--------------------------------------------------------------------------------
1 | # Canlı Yayın Etkinlikleri
2 |
3 | Senchabot, belirtilen kanallarda [canlı yayın duyurularını](/tr/discord-bot/live-stream-announcements) takip ederek sunucu etkinliği oluşturur.
4 |
5 | ## Etkinlik Kanalını Belirleme
6 |
7 | Discord etkinliklerini oluşturmak için Senchabot'un mesajlarını takip edeceği canlı yayın duyuruları kanalı seçiniz.
8 |
9 |
15 |
16 |
17 | ::: details Örnek Kullanım
18 |
24 |
25 |
26 |
27 |
28 |
29 | set-twitch event-channel
30 |
31 |
32 |
33 | `twitch-yayınları` isimli kanal Twitch yayın duyurusu etkinlikleri için listeye eklendi.
34 |
35 |
36 |
37 | :::
38 |
39 | ## Etkinlik Kanalını Silme
40 |
41 | Senchabot'un mesajlarını takip ettiği kanallar listesinden belirtilen kanalı kaldırınız.
42 |
43 |
49 |
50 |
51 | ::: details Örnek Kullanım
52 |
58 |
59 |
60 |
61 |
62 |
63 | del-twitch event-channel
64 |
65 |
66 |
67 | `twitch-yayınları` isimli yazı kanalı yayın etkinlik yazı kanalları listesinden kaldırıldı.
68 |
69 |
70 |
71 | :::
72 |
--------------------------------------------------------------------------------
/docs/tr/discord-bot/reminder-system.md:
--------------------------------------------------------------------------------
1 | # Hatırlatıcı Sistemi
2 |
--------------------------------------------------------------------------------
/docs/tr/discord-bot/variables.md:
--------------------------------------------------------------------------------
1 | # Komut Değişkenleri
2 |
3 | Komut içeriğine eklenen değişkenlerdir.
4 |
5 | ```
6 | !acmd [komut_adı] [komut_içeriği {komut.değişkeni}]
7 | ```
8 |
9 | ## `{user.name}`
10 |
11 | Komutu kullanan kişinin kullanıcı adını yazar.
12 |
13 | ::: details Örnek Kullanım
14 |
15 | Komut Ekleme
16 |
17 | ```
18 | !acmd günaydın Günaydın {user.name}!
19 |
20 | ```
21 |
22 | Kullanıcı Mesajı ve Yanıtı
23 |
24 | ```
25 | senchabot-app: !günaydın
26 |
27 | Senchabot: Günaydın senchabot-app!
28 |
29 | ```
30 |
31 | :::
32 |
33 | Twitch Stream Variables
34 | {twitch.username}
35 | {twitch.url}
36 | {stream.title}
37 | {stream.category}
38 |
--------------------------------------------------------------------------------
/docs/tr/getting-started.md:
--------------------------------------------------------------------------------
1 | # Başlamadan Önce
2 |
--------------------------------------------------------------------------------
/docs/tr/index.md:
--------------------------------------------------------------------------------
1 | # Giriş
2 |
3 |
4 |
12 |
13 |
14 |
22 |
23 |
--------------------------------------------------------------------------------
/docs/tr/twitch-bot/command-timer-system.md:
--------------------------------------------------------------------------------
1 | # Komut Zamanlayıcı Sistemi
2 |
3 | ## Komut Zamanlayıcısı Ekleme
4 |
5 | ```
6 | !atimer [command_name] [interval (integer, minute)]
7 | ```
8 |
9 | Belirlediğiniz süreyle istediğiniz [özel komutu](/tr/twitch-bot/custom-commands) döndürür.
10 |
11 | ::: details Örnek Kullanım
12 |
13 | Komut Ekleme
14 |
15 | ```
16 | !atimer su-ic 30
17 | ```
18 |
19 | Senchabot'un Yanıtı
20 |
21 | ```
22 | Command Timer Enabled: su-ic.
23 | ```
24 | Örnek Sonuç
25 | ```
26 | Senchabot (08:00 AM): Su içmeyi unutma!
27 | Senchabot (08:30 AM): Su içmeyi unutma!
28 | Senchabot (09:00 AM): Su içmeyi unutma!
29 | Senchabot (09:30 AM): Su içmeyi unutma!
30 | ```
31 | :::
32 |
33 |
34 | ::: info Bilgilendirme
35 | `!timers` komutuyla komut zamanlayıcı listesine ulaşabilirsiniz.
36 |
37 | En fazla 3 komut zamanlayıcısı oluşturabilirsiniz.
38 | :::
39 |
40 |
41 | ## Komut Zamanlayıcısı Silme
42 |
43 | ```
44 | !dtimer [command_name]
45 | ```
46 |
47 | ::: details Örnek Kullanım
48 |
49 | Komut Silme
50 |
51 | ```
52 | !dtimer su-ic
53 | ```
54 |
55 | Senchabot'un Yanıtı
56 |
57 | ```
58 | Command Timer Deleted: su-ic.
59 | ```
60 |
61 | :::
62 |
63 | ## Zamanlayıcı Komutlarına Erişim
64 |
65 | ```
66 | !timers
67 | ```
68 |
69 | ::: details Örnek Yanıt
70 |
71 | ```
72 | Command Timers: drink-water, senchabot, discord.
73 | ```
74 | :::
75 |
--------------------------------------------------------------------------------
/docs/tr/twitch-bot/commands.md:
--------------------------------------------------------------------------------
1 | # Komutlar
2 |
3 | ## Ön Tanımlı Komutlar
4 |
5 | | Komut | Senchabot'un Yanıtı |
6 | | :----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
7 | | cmds | {channel.name}'s Channel Commands: ... |
8 | | help | Senchabot's Commands: cmds, acmd, dcmd, ucmd, acmda, dcmda, sozluk, ping, invite, help. |
9 | | senchabot | An open-source, multi-platform bot designed for seamless integration with Twitch and Discord • [senchabot.app](https://senchabot.app) • [github.com/senchabot-opensource/monorepo](https://github.com/senchabot-opensource/monorepo) |
10 | | kampus | discord.gg/kampus - github.com/kamp-us |
11 | | frontendship | discord.gg/frontendship | |
12 | | lurk | Teşekkürler! {user.name} |
13 | | ping | pong! VoHiYo |
14 |
15 | ::: info Bilgilendirme
16 |
17 | Ön tanımlı komutlarda [`!ucmd`](/tr/twitch-bot/custom-commands#komut-guncelleme) güncelleme komutu çalışmamaktadır. `!lurk` komutu bu konuda istisnadır.
18 | :::
19 |
20 |
21 |
22 |
30 |
31 | ## Sözlük
32 |
33 | ```
34 | !sozluk [term_name]
35 | ```
36 |
37 | ::: details Örnek Kullanım
38 |
39 | Kullanıcı Mesajı
40 |
41 | ```
42 | !sozluk senchabot
43 | ```
44 |
45 | Senchabot'un Yanıtı
46 |
47 | ```
48 | Açık kaynak Discord ve Twitch botu.
49 | ```
50 |
51 | :::
52 |
53 | ## Takip Çağrısı
54 |
55 | ```
56 | !so {user.name}
57 | ```
58 |
59 | ::: details Örnek Kullanım
60 |
61 | Kullanıcı Mesajı
62 |
63 | ```
64 | !so senchabot
65 | ```
66 |
67 | Senchabot'un Yanıtı
68 |
69 | ```
70 | Follow @senchabot over at twitch.tv/senchabot <3
71 | ```
72 | *Yukarıdaki mesajı yazdırıp takip çağrısı oluşturur.*
73 | :::
74 |
75 | ## Modül Komutları
76 |
77 |
78 |
79 |
87 |
88 |
89 |
90 |
98 |
99 |
100 |
101 |
109 |
110 |
111 |
112 |
120 |
121 |
122 |
123 | ::: info Cooldown Sistemi
124 | Komut kullanım bekleme süresi kullanıcı başına 2 saniyedir.
125 | :::
126 |
--------------------------------------------------------------------------------
/docs/tr/twitch-bot/custom-api-system.md:
--------------------------------------------------------------------------------
1 | ---
2 | outline: [2, 3]
3 | ---
4 |
5 | # Custom API Sistemi
6 |
7 | Belirtilen şablon aracılığıyla bir URL'ye GET isteği göndermenize ve kanalınıza eklemiş olduğunuz özel komut aracılığıyla yanıt almanıza olanak tanıyan sistemdir.
8 |
9 | ```
10 | {customapi.https://...}
11 | ```
12 |
13 | #### Yayın Sohbetine Komut Ekle
14 |
15 | ```
16 | !acmd [komut_adı] [komut_içeriği {customapi.https://...}]
17 | ```
18 |
19 | ## Custom API'yle Yapılabilecekler
20 |
21 | ### Spotify'da Çalan Şarkıyı Göster
22 |
23 |
24 |
25 |
34 |
35 | ::: details Örnek Kullanım
36 | Komut Ekleme
37 |
38 | ```
39 | !acmd şarkı Şu An Çalan Şarkı: {customapi.https://spotify.aidenwallis.co.uk/u/...}
40 | ```
41 |
42 | Kullanıcı Mesajı
43 |
44 | ```
45 | !şarkı
46 | ```
47 |
48 | Senchabot'un Yanıtı
49 |
50 | ```
51 | Şu An Çalan Şarkı: ANGELPLAYA - DANGEROUS
52 | ```
53 |
54 | :::
55 |
56 | ::: info Yayınınıza Spotify Widgetı Ekleme
57 |
58 | Aiden Wallis'in sitesinde bulunan _Now Playin Widget_ başlığı altındaki `https://nowplaying.aidenwallis.co.uk/...` şeklindeki linki kullanmakta olduğunuz yayın aracına (OBS Studio, Streamlabs...) _tarayıcı kaynağı_ olarak ekleyiniz.
59 |
60 | :::
61 |
62 | ### Rastgele Metin Yazdırma
63 |
64 | ```
65 | {customapi.https://techy-api.vercel.app/api/text}
66 | ```
67 |
68 | ::: details Örnek Kullanım
69 | Komut Ekleme
70 |
71 | ```
72 | !acmd metin {customapi.https://techy-api.vercel.app/api/text}.
73 | ```
74 |
75 | Kullanıcı Mesajı
76 |
77 | ```
78 | !metin
79 | ```
80 |
81 | Senchabot'un Yanıtı
82 |
83 | ```
84 | The hardest part was setting the traffic velocity
85 | ```
86 |
87 | :::
88 |
--------------------------------------------------------------------------------
/docs/tr/twitch-bot/custom-commands.md:
--------------------------------------------------------------------------------
1 | ---
2 | outline: [2, 3]
3 | ---
4 |
5 | # Özel Komutlar
6 |
7 | ## Kanal Komutları
8 |
9 | ### Komut Ekleme
10 |
11 | ```
12 | !acmd [komut_adı] [komut_içeriği]
13 | ```
14 |
15 | ::: details Örnek Kullanım
16 |
17 | ```
18 | !acmd senchabot https://senchabot.app/
19 | ```
20 |
21 | :::
22 |
23 | ### Komut Güncelleme
24 |
25 | ```
26 | !ucmd [komut_adı] [yeni_komut_içeriği]
27 | ```
28 |
29 | ::: details Örnek Kullanım
30 |
31 | ```
32 | !ucmd senchabot https://github.com/senchabot-opensource/monorepo
33 | ```
34 |
35 | :::
36 |
37 | ### Komut Silme
38 |
39 | ```
40 | !dcmd [komut_adı]
41 | ```
42 |
43 | ::: details Örnek Kullanım
44 |
45 | ```
46 | !dcmd senchabot
47 | ```
48 |
49 | :::
50 |
51 | ### Alias Add
52 |
53 | ```
54 | !acmda [komut_adı] [komut_takma_adı]
55 | ```
56 |
57 | ::: details Örnek Kullanım
58 |
59 | ```
60 | !acmda senchabot senchabot-link
61 | ```
62 |
63 | :::
64 |
65 | #### Çoklu takma ad ekleme
66 |
67 | ```
68 | !acmda [komut_adı] [komut_takma_adları (boşluk bırakarak)]
69 | ```
70 |
71 | ::: details Örnek Kullanım
72 |
73 | ```
74 | !acmda senchabot senchabot-link senchabot-github senchabot-app
75 | ```
76 |
77 | :::
78 |
79 | ### Takma Ad Silme
80 |
81 | ```
82 | !dcmda [komut_takma_adı]
83 | ```
84 |
85 | ::: details Örnek Kullanım
86 |
87 | ```
88 | !dcmda senchabot-link
89 | ```
90 |
91 | :::
92 |
93 | #### Çoklu takma ad silme
94 |
95 | ```
96 | !dcmda [komut_takma_adları (boşluk bırakarak)]
97 | ```
98 |
99 | ::: details Örnek Kullanım
100 |
101 | ```
102 | !dcmda senchabot-link senchabot-github
103 | ```
104 |
105 | :::
106 |
107 | ## Kanal Komutlarına Erişim
108 |
109 | ```
110 | !cmds
111 | ```
112 |
113 | ::: details Örnek Yanıt
114 |
115 | ```
116 | Senchabot's Channel Commands: senchabot, senchabot-site.
117 | ```
118 |
119 | :::
120 |
--------------------------------------------------------------------------------
/docs/tr/twitch-bot/getting-started.md:
--------------------------------------------------------------------------------
1 | # Başlamadan Önce
2 |
3 | ## Twitch Kanalınıza Davet Edin
4 |
5 | Komutu [Senchabot](https://twitch.tv/senchabot/)'un sohbetine yazarak botu kanalınıza davet ediniz.
6 |
7 | ```
8 | !invite [your_channel_name]
9 | ```
10 |
11 | Ardından Senchabot'a `moderatör` rolü veriniz.
12 |
--------------------------------------------------------------------------------
/docs/tr/twitch-bot/note-taking-system.md:
--------------------------------------------------------------------------------
1 | # Note Taking System
2 |
3 | ```
4 | !note [content]
5 | ```
6 |
7 | Kontrol Panelinin "Notlar" bölümünde listelenecek notları yayın sohbetinden oluşturmanızı sağlar.
8 |
--------------------------------------------------------------------------------
/docs/tr/twitch-bot/reminder-system.md:
--------------------------------------------------------------------------------
1 | # Hatırlatıcı Sistemi
2 |
3 | ```
4 | !reminder "[content]" [time]
5 | ```
6 |
7 | Belirlediğiniz süre sonunda komuta girmiş olduğunuz metni döndürür.
8 |
9 | ::: details Örnek Kullanım
10 |
11 | Kullanıcı Mesajı
12 |
13 | ```
14 | !reminder "Su içmeyi unutma!" 1h
15 | ```
16 |
17 | 1 Saat Sonra Senchabot'un Yanıtı
18 |
19 | ```
20 | Su içmeyi unutma!
21 | ```
22 |
23 | :::
24 |
--------------------------------------------------------------------------------
/docs/tr/twitch-bot/variables.md:
--------------------------------------------------------------------------------
1 | # Komut Değişkenleri
2 |
3 | Komut içeriğine eklenen değişkenlerdir.
4 |
5 | ```
6 | !acmd [komut_adı] [komut_içeriği {komut.değişkeni}]
7 | ```
8 |
9 | ## `{user.name}`
10 |
11 | Komutu kullanan kişinin kullanıcı adını döndürür.
12 |
13 | ::: details Örnek Kullanım
14 |
15 | Komut Ekleme
16 |
17 | ```
18 | !acmd günaydın Günaydın {user.name}!
19 |
20 | ```
21 |
22 | Kullanıcı Mesajı ve Yanıtı
23 |
24 | ```
25 | senchabot-app: !günaydın
26 |
27 | Senchabot: Günaydın senchabot-app!
28 |
29 | ```
30 |
31 | :::
32 |
33 | ## `{random_number}`
34 |
35 | 18-70 arasında rastgele sayı döndürür.
36 |
37 | ::: details Örnek Kullanım
38 |
39 | Komut Eklleme
40 |
41 | ```
42 | !acmd yas {random.number} yaşındasın, bence!
43 | ```
44 |
45 | Kullanıcı Mesajı ve Yanıtı
46 |
47 | ```
48 | senchabot-app: !yas
49 |
50 | Senchabot: 29 yaşındasın, bence!
51 | ```
52 |
53 | :::
54 |
55 | ## `{date}`
56 |
57 | Komutun çalıştırıldığı tarihi döndürür.
58 |
59 | ::: details Örnek Kullanım
60 |
61 | Komut Ekleme
62 |
63 | ```
64 | !acmd tarih Bugünün tarihi: {date}
65 | ```
66 |
67 | Kullanıcı Mesajı ve Yanıtı
68 |
69 | ```
70 | senchabot-app: !tarih
71 |
72 | Senchabot: Bugünün tarihi: 09/09/2023
73 | ```
74 |
75 | :::
76 |
77 | ## `{cmd.date}`
78 |
79 | Komutun oluşturulduğu tarihi döndürür.
80 |
81 | ::: details Örnek Kullanım
82 |
83 | Komut Ekleme
84 |
85 | ```
86 | !acmd zafer 30 Ağustos Zafer Bayramı Kutlu Olsun! -{cmd.date}
87 | ```
88 |
89 | Kullanıcı Mesajı ve Yanıtı
90 |
91 | ```
92 | senchabot-app: !zafer
93 |
94 | Senchabot: 30 Ağustos Zafer Bayramı Kutlu Olsun! -30/08/2023
95 | ```
96 |
97 | :::
98 |
99 | ## `{channel.name}`
100 |
101 | Komutun çalıştırıldığı kanalın adını döndürür.
102 |
103 | ::: details Örnek Kullanım
104 |
105 | Komut Ekleme
106 |
107 | ```
108 | !acmd twitch-botu {channel.name}, Senchabot'u kullanmayı tercih ediyor!
109 | ```
110 |
111 | Kullanıcı Mesajı ve Yanıtı
112 |
113 | ```
114 | senchabot-app: !twitch-botu
115 |
116 | Senchabot: senchabot-app, Senchabot'u kullanmayı tercih ediyor!
117 | ```
118 |
119 | :::
120 |
--------------------------------------------------------------------------------
/docs/twitch-bot/command-timer-system.md:
--------------------------------------------------------------------------------
1 | # Command Timer System
2 |
3 | ## Add Command Timer
4 |
5 | ```
6 | !atimer [command_name] [interval (integer, minute)]
7 | ```
8 | Returns the [custom command](/twitch-bot/custom-commands) you specified within the specified time.
9 |
10 | ::: details Example Usage
11 |
12 | Adding the Command Timer
13 |
14 | ```
15 | !atimer drink-water 30
16 | ```
17 |
18 | Senchabot's Response
19 |
20 | ```
21 | Command Timer Enabled: drink-water.
22 | ```
23 | Example Result
24 | ```
25 | Senchabot (08:00 AM): Don't forget to drink water!
26 | Senchabot (08:30 AM): Don't forget to drink water!
27 | Senchabot (09:00 AM): Don't forget to drink water!
28 | Senchabot (09:30 AM): Don't forget to drink water!
29 | ```
30 | :::
31 |
32 |
33 | ::: info Information
34 |
35 | You can list the command timers you added with the `!timers` command.
36 |
37 | You can create up to 3 command timers.
38 | :::
39 |
40 |
41 | ## Delete Command Timer
42 |
43 | ```
44 | !dtimer [command_name]
45 | ```
46 |
47 | ::: details Example Usage
48 |
49 | Deleting the Command
50 |
51 | ```
52 | !dtimer drink-water
53 | ```
54 |
55 | Senchabot's Response
56 |
57 | ```
58 | Command Timer Deleted: drink-water.
59 | ```
60 |
61 | :::
62 |
63 | ## Access to Command Timers
64 |
65 | ```
66 | !timers
67 | ```
68 |
69 | ::: details Example Response
70 |
71 | ```
72 | Command Timers: drink-water, senchabot, discord.
73 | ```
74 | :::
75 |
--------------------------------------------------------------------------------
/docs/twitch-bot/commands.md:
--------------------------------------------------------------------------------
1 | # Commands
2 |
3 | ## Global Commands
4 |
5 | | Command | Response |
6 | | :----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
7 | | cmds | {channel.name}'s Channel Commands: ... |
8 | | help | Senchabot's Commands: cmds, acmd, dcmd, ucmd, acmda, dcmda, sozluk, ping, invite, help. |
9 | | senchabot | An open-source, multi-platform bot designed for seamless integration with Twitch and Discord • [senchabot.app](https://senchabot.app) • [github.com/senchabot-opensource/monorepo](https://github.com/senchabot-opensource/monorepo) |
10 | | kampus | discord.gg/kampus - github.com/kamp-us |
11 | | frontendship | discord.gg/frontendship |
12 | | ping | pong! VoHiYo |
13 |
14 | ::: info Information
15 |
16 | In global commands, the [`!ucmd`](/twitch-bot/custom-commands#command-update) update command does not work. The `!lurk` command is an exception in this regard.
17 | :::
18 |
19 |
20 |
21 |
29 |
30 | ## Shoutout
31 |
32 | ```
33 | !so {user.name}
34 | ```
35 | ::: details Example Usage
36 |
37 | User Message
38 |
39 | ```
40 | !so senchabot
41 | ```
42 |
43 | Senchabot's Response
44 |
45 | ```
46 | Follow @senchabot over at twitch.tv/senchabot <3
47 | ```
48 | *Returns the above message and generates a shoutout.*
49 | :::
50 |
51 |
52 | ## Module Commands
53 |
54 |
55 |
56 |
64 |
65 |
66 |
67 |
75 |
76 |
77 |
78 |
86 |
87 |
88 |
89 |
97 |
98 |
99 |
100 | ::: info Cooldown System
101 | Command usage cooldown time is 2 seconds per user.
102 | :::
103 |
--------------------------------------------------------------------------------
/docs/twitch-bot/custom-api-system.md:
--------------------------------------------------------------------------------
1 | ---
2 | outline: [2, 3]
3 | ---
4 |
5 | # Custom API System
6 |
7 | This system allows you to send a GET request to a URL through the specified template and receive a response through a custom command you have added to your channel.
8 |
9 | ```
10 | {customapi.https://...}
11 | ```
12 |
13 | #### Adding Commands to the Broadcast Chat
14 |
15 | ```
16 | !acmd [command_name] [command_content {customapi.https://...}]
17 | ```
18 |
19 | ## What You Can Do with Custom API
20 |
21 | ### Display the Currently Playing Song on Spotify
22 |
23 |
24 |
25 |
34 |
35 | ::: details Example Usage
36 |
37 | Adding the Command
38 |
39 | ```
40 | !acmd song Currently Playing: {customapi.https://spotify.aidenwallis.co.uk/u/...}
41 | ```
42 |
43 | User Message
44 |
45 | ```
46 | !song
47 | ```
48 |
49 | Senchabot's Response
50 |
51 | ```
52 | Currently Playing: ANGELPLAYA - DANGEROUS
53 | ```
54 |
55 | :::
56 |
57 | ::: info Adding Spotify Widget to Your Stream
58 |
59 | Use the link in the format `https://nowplaying.aidenwallis.co.uk/...` under the title "_Now Playing Widget_" on Aiden Wallis' website as a _browser source_ in your streaming software (OBS Studio, Streamlabs...).
60 |
61 | :::
62 |
63 | ### Generate Random Text
64 |
65 | ```
66 | {customapi.https://techy-api.vercel.app/api/text}
67 | ```
68 |
69 | ::: details Example Usage
70 | Adding the Command
71 |
72 | ```
73 | !acmd text {customapi.https://techy-api.vercel.app/api/text}
74 | ```
75 |
76 | User Message
77 |
78 | ```
79 | !text
80 | ```
81 |
82 | Senchabot's Response
83 |
84 | ```
85 | The hardest part was setting the traffic velocity
86 | ```
87 |
88 | :::
--------------------------------------------------------------------------------
/docs/twitch-bot/custom-commands.md:
--------------------------------------------------------------------------------
1 | ---
2 | outline: [2, 3]
3 | ---
4 |
5 | # Custom Commands
6 |
7 | ## Channel Commands
8 |
9 | ### Command Add
10 |
11 | ```
12 | !acmd [command_name] [command_content]
13 | ```
14 |
15 | ::: details Example Usage
16 |
17 | ```
18 | !acmd senchabot https://senchabot.app/
19 | ```
20 |
21 | :::
22 |
23 | ### Command Update
24 |
25 | ```
26 | !ucmd [command_name] [new_command_content]
27 | ```
28 |
29 | ::: details Example Usage
30 |
31 | ```
32 | !ucmd senchabot https://github.com/senchabot-opensource/monorepo
33 | ```
34 |
35 | :::
36 |
37 | ### Command Delete
38 |
39 | ```
40 | !dcmd [command_name]
41 | ```
42 |
43 | ::: details Example Usage
44 |
45 | ```
46 | !dcmd senchabot
47 | ```
48 |
49 | :::
50 |
51 | ### Alias Add
52 |
53 | ```
54 | !acmda [command_name] [command_alias]
55 | ```
56 |
57 | ::: details Example Usage
58 |
59 | ```
60 | !acmda senchabot senchabot-link
61 | ```
62 |
63 | :::
64 |
65 | #### Add multiple aliases
66 |
67 | ```
68 | !acmda [command_name] [command_alias(es) separated by space]
69 | ```
70 |
71 | ::: details Example Usage
72 |
73 | ```
74 | !acmda senchabot senchabot-link senchabot-github senchabot-app
75 | ```
76 |
77 | :::
78 |
79 | ### Alias Delete
80 |
81 | ```
82 | !dcmda [command_alias]
83 | ```
84 |
85 | ::: details Example Usage
86 |
87 | ```
88 | !dcmda senchabot-link
89 | ```
90 |
91 | :::
92 |
93 | #### Delete multiple aliases
94 |
95 | ```
96 | !dcmda [command_alias(es) separated by space]
97 | ```
98 |
99 | ::: details Example Usage
100 |
101 | ```
102 | !dcmda senchabot-link senchabot-github
103 | ```
104 |
105 | :::
106 |
107 | ## Access to Channel Commands
108 |
109 | ```
110 | !cmds
111 | ```
112 |
113 | ::: details Example Response
114 |
115 | ```
116 | Senchabot's Channel Commands: senchabot, senchabot-site.
117 | ```
118 | :::
119 |
--------------------------------------------------------------------------------
/docs/twitch-bot/getting-started.md:
--------------------------------------------------------------------------------
1 | # Getting Started
2 |
3 | ## Invite to Your Twitch Channel
4 |
5 | Invite the bot to your channel by writing the command in [Senchabot](https://twitch.tv/senchabot/)'s chat.
6 |
7 | ```
8 | !invite [your_channel_name]
9 | ```
10 |
11 | Then, give moderation role to Senchabot.
12 |
--------------------------------------------------------------------------------
/docs/twitch-bot/note-taking-system.md:
--------------------------------------------------------------------------------
1 | # Note Taking System
2 |
3 | ```
4 | !note [content]
5 | ```
6 |
7 | Allows you to create notes in the chat that will be listed in the "Notes" section of the control panel.
8 |
--------------------------------------------------------------------------------
/docs/twitch-bot/reminder-system.md:
--------------------------------------------------------------------------------
1 | # Reminder System
2 |
3 | ```
4 | !reminder "[content]" [time]
5 | ```
6 |
7 | Returns the text you entered in the command after the specified time has elapsed.
8 |
9 | ::: details Example Usage
10 |
11 | User Message
12 |
13 | ```
14 | !reminder "Don't forget to drink water!" 1h
15 | ```
16 |
17 | Senchabot's Response, 1 Hour Later
18 |
19 | ```
20 | Don't forget to drink water!
21 | ```
22 |
23 | :::
24 |
--------------------------------------------------------------------------------
/docs/twitch-bot/variables.md:
--------------------------------------------------------------------------------
1 | # Command Variables
2 |
3 |
4 |
5 | Variables added to the command content.
6 |
7 | ```
8 | !acmd [command_name] [command_content {command.variable}]
9 | ```
10 |
11 | ## `{user.name}`
12 |
13 |
14 |
15 | Returns the username of the person using the command.
16 |
17 | ::: details Example Usage
18 |
19 | Command Add
20 |
21 | ```
22 | !acmd good-morning Good morning {user.name}!
23 |
24 | ```
25 |
26 |
27 |
28 | User Message and Response
29 |
30 | ```
31 | senchabot-app: !good-morning
32 |
33 | Senchabot: Good morning senchabot-app!
34 |
35 | ```
36 |
37 | :::
38 |
39 | ## `{random_number}`
40 |
41 |
42 |
43 | Returns a random number between 18-70.
44 |
45 | ::: details Example Usage
46 |
47 | Command Add
48 |
49 | ```
50 | !acmd age {random.number}
51 | ```
52 |
53 |
54 |
55 | User Message and Response
56 |
57 | ```
58 | senchabot-app: !age
59 |
60 | Senchabot: I think... You're 29 years old!
61 | ```
62 |
63 | :::
64 |
65 | ## `{date}`
66 |
67 |
68 |
69 | Returns the date of the day it is used.
70 |
71 | ::: details Example Usage
72 |
73 | Command Add
74 |
75 | ```
76 | !acmd date Date: {date}
77 | ```
78 |
79 |
80 |
81 | User Message and Response
82 |
83 | ```
84 | senchabot-app: !date
85 |
86 | Senchabot: Date: 09/09/2023
87 | ```
88 |
89 | :::
90 |
91 | ## `{cmd.date}`
92 |
93 |
94 |
95 | Returns the date of the command was created.
96 |
97 | ::: details Example Usage
98 |
99 | Command Add
100 |
101 | ```
102 | !acmd christmas Happy christmas! -{cmd.date}
103 | ```
104 |
105 |
106 |
107 | User Message and Response
108 |
109 | ```
110 | senchabot-app: !christmas
111 |
112 | Senchabot: Happy christmas! -25/12/2023
113 | ```
114 |
115 | :::
116 |
117 | ## `{channel.name}`
118 |
119 |
120 |
121 | Returns the name of the channel that the command is used.
122 |
123 | ::: details Example Usage
124 |
125 | Command Add
126 |
127 | ```
128 | !acmd twitch-bot {channel.name} prefers to use the Senchabot!
129 | ```
130 |
131 |
132 |
133 | User Message and Response
134 |
135 | ```
136 | senchabot-app: !twitch-bot
137 |
138 | Senchabot: senchabot-app, prefers to use the Senchabot!
139 | ```
140 |
141 | :::
142 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "senchabot-docs",
3 | "version": "0.1.0",
4 | "description": "Official Senchabot Documentation",
5 | "main": "index.js",
6 | "repository": "https://github.com/senchabot-opensource/docs.git",
7 | "author": "Senchabot Dev Krew",
8 | "type": "module",
9 | "scripts": {
10 | "docs:dev": "vitepress dev docs",
11 | "docs:build": "vitepress build docs",
12 | "docs:preview": "vitepress preview docs"
13 | },
14 | "devDependencies": {
15 | "vitepress": "^1.0.0-rc.10"
16 | },
17 | "dependencies": {
18 | "@discord-message-components/vue": "^0.2.1"
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@algolia/autocomplete-core@1.9.3":
6 | version "1.9.3"
7 | resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz#1d56482a768c33aae0868c8533049e02e8961be7"
8 | integrity sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==
9 | dependencies:
10 | "@algolia/autocomplete-plugin-algolia-insights" "1.9.3"
11 | "@algolia/autocomplete-shared" "1.9.3"
12 |
13 | "@algolia/autocomplete-plugin-algolia-insights@1.9.3":
14 | version "1.9.3"
15 | resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz#9b7f8641052c8ead6d66c1623d444cbe19dde587"
16 | integrity sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==
17 | dependencies:
18 | "@algolia/autocomplete-shared" "1.9.3"
19 |
20 | "@algolia/autocomplete-preset-algolia@1.9.3":
21 | version "1.9.3"
22 | resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz#64cca4a4304cfcad2cf730e83067e0c1b2f485da"
23 | integrity sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==
24 | dependencies:
25 | "@algolia/autocomplete-shared" "1.9.3"
26 |
27 | "@algolia/autocomplete-shared@1.9.3":
28 | version "1.9.3"
29 | resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz#2e22e830d36f0a9cf2c0ccd3c7f6d59435b77dfa"
30 | integrity sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==
31 |
32 | "@algolia/cache-browser-local-storage@4.19.1":
33 | version "4.19.1"
34 | resolved "https://registry.yarnpkg.com/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.19.1.tgz#d29f42775ed4d117182897ac164519c593faf399"
35 | integrity sha512-FYAZWcGsFTTaSAwj9Std8UML3Bu8dyWDncM7Ls8g+58UOe4XYdlgzXWbrIgjaguP63pCCbMoExKr61B+ztK3tw==
36 | dependencies:
37 | "@algolia/cache-common" "4.19.1"
38 |
39 | "@algolia/cache-common@4.19.1":
40 | version "4.19.1"
41 | resolved "https://registry.yarnpkg.com/@algolia/cache-common/-/cache-common-4.19.1.tgz#faa5eeacaffd6023c2cf26e9866bdb06193f9b26"
42 | integrity sha512-XGghi3l0qA38HiqdoUY+wvGyBsGvKZ6U3vTiMBT4hArhP3fOGLXpIINgMiiGjTe4FVlTa5a/7Zf2bwlIHfRqqg==
43 |
44 | "@algolia/cache-in-memory@4.19.1":
45 | version "4.19.1"
46 | resolved "https://registry.yarnpkg.com/@algolia/cache-in-memory/-/cache-in-memory-4.19.1.tgz#afe4f0f21149800358379871089e0141fb72415b"
47 | integrity sha512-+PDWL+XALGvIginigzu8oU6eWw+o76Z8zHbBovWYcrtWOEtinbl7a7UTt3x3lthv+wNuFr/YD1Gf+B+A9V8n5w==
48 | dependencies:
49 | "@algolia/cache-common" "4.19.1"
50 |
51 | "@algolia/client-account@4.19.1":
52 | version "4.19.1"
53 | resolved "https://registry.yarnpkg.com/@algolia/client-account/-/client-account-4.19.1.tgz#1fa65881baab79ad35af6bcf44646a13b8d5edc9"
54 | integrity sha512-Oy0ritA2k7AMxQ2JwNpfaEcgXEDgeyKu0V7E7xt/ZJRdXfEpZcwp9TOg4TJHC7Ia62gIeT2Y/ynzsxccPw92GA==
55 | dependencies:
56 | "@algolia/client-common" "4.19.1"
57 | "@algolia/client-search" "4.19.1"
58 | "@algolia/transporter" "4.19.1"
59 |
60 | "@algolia/client-analytics@4.19.1":
61 | version "4.19.1"
62 | resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-4.19.1.tgz#e6ed79acd4de5a0284c9696bf4e1c25278ba34db"
63 | integrity sha512-5QCq2zmgdZLIQhHqwl55ZvKVpLM3DNWjFI4T+bHr3rGu23ew2bLO4YtyxaZeChmDb85jUdPDouDlCumGfk6wOg==
64 | dependencies:
65 | "@algolia/client-common" "4.19.1"
66 | "@algolia/client-search" "4.19.1"
67 | "@algolia/requester-common" "4.19.1"
68 | "@algolia/transporter" "4.19.1"
69 |
70 | "@algolia/client-common@4.19.1":
71 | version "4.19.1"
72 | resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-4.19.1.tgz#40a8387316fa61d62ad1091beb3a8e227f008e75"
73 | integrity sha512-3kAIVqTcPrjfS389KQvKzliC559x+BDRxtWamVJt8IVp7LGnjq+aVAXg4Xogkur1MUrScTZ59/AaUd5EdpyXgA==
74 | dependencies:
75 | "@algolia/requester-common" "4.19.1"
76 | "@algolia/transporter" "4.19.1"
77 |
78 | "@algolia/client-personalization@4.19.1":
79 | version "4.19.1"
80 | resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-4.19.1.tgz#fe362e0684dc74c3504c3641c5a7488c6ae02e07"
81 | integrity sha512-8CWz4/H5FA+krm9HMw2HUQenizC/DxUtsI5oYC0Jxxyce1vsr8cb1aEiSJArQT6IzMynrERif1RVWLac1m36xw==
82 | dependencies:
83 | "@algolia/client-common" "4.19.1"
84 | "@algolia/requester-common" "4.19.1"
85 | "@algolia/transporter" "4.19.1"
86 |
87 | "@algolia/client-search@4.19.1":
88 | version "4.19.1"
89 | resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-4.19.1.tgz#5e54601aa5f5cea790cec3f2cde4af9d6403871e"
90 | integrity sha512-mBecfMFS4N+yK/p0ZbK53vrZbL6OtWMk8YmnOv1i0LXx4pelY8TFhqKoTit3NPVPwoSNN0vdSN9dTu1xr1XOVw==
91 | dependencies:
92 | "@algolia/client-common" "4.19.1"
93 | "@algolia/requester-common" "4.19.1"
94 | "@algolia/transporter" "4.19.1"
95 |
96 | "@algolia/logger-common@4.19.1":
97 | version "4.19.1"
98 | resolved "https://registry.yarnpkg.com/@algolia/logger-common/-/logger-common-4.19.1.tgz#0e46a11510f3e94e1afc0ac780ae52e9597be78f"
99 | integrity sha512-i6pLPZW/+/YXKis8gpmSiNk1lOmYCmRI6+x6d2Qk1OdfvX051nRVdalRbEcVTpSQX6FQAoyeaui0cUfLYW5Elw==
100 |
101 | "@algolia/logger-console@4.19.1":
102 | version "4.19.1"
103 | resolved "https://registry.yarnpkg.com/@algolia/logger-console/-/logger-console-4.19.1.tgz#656a6f4ebb5de39af6ef7095c398d9ab3cceb87d"
104 | integrity sha512-jj72k9GKb9W0c7TyC3cuZtTr0CngLBLmc8trzZlXdfvQiigpUdvTi1KoWIb2ZMcRBG7Tl8hSb81zEY3zI2RlXg==
105 | dependencies:
106 | "@algolia/logger-common" "4.19.1"
107 |
108 | "@algolia/requester-browser-xhr@4.19.1":
109 | version "4.19.1"
110 | resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.19.1.tgz#7341ea2f980b8980a2976110142026721e452187"
111 | integrity sha512-09K/+t7lptsweRTueHnSnmPqIxbHMowejAkn9XIcJMLdseS3zl8ObnS5GWea86mu3vy4+8H+ZBKkUN82Zsq/zg==
112 | dependencies:
113 | "@algolia/requester-common" "4.19.1"
114 |
115 | "@algolia/requester-common@4.19.1":
116 | version "4.19.1"
117 | resolved "https://registry.yarnpkg.com/@algolia/requester-common/-/requester-common-4.19.1.tgz#f3396c77631b9d36e8d4d6f819a2c27f9ddbf7a1"
118 | integrity sha512-BisRkcWVxrDzF1YPhAckmi2CFYK+jdMT60q10d7z3PX+w6fPPukxHRnZwooiTUrzFe50UBmLItGizWHP5bDzVQ==
119 |
120 | "@algolia/requester-node-http@4.19.1":
121 | version "4.19.1"
122 | resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-4.19.1.tgz#ea210de9642628b3bdda1dd7fcd1fcb686da442e"
123 | integrity sha512-6DK52DHviBHTG2BK/Vv2GIlEw7i+vxm7ypZW0Z7vybGCNDeWzADx+/TmxjkES2h15+FZOqVf/Ja677gePsVItA==
124 | dependencies:
125 | "@algolia/requester-common" "4.19.1"
126 |
127 | "@algolia/transporter@4.19.1":
128 | version "4.19.1"
129 | resolved "https://registry.yarnpkg.com/@algolia/transporter/-/transporter-4.19.1.tgz#b5787299740c4bec9ba05502d98c14b5999860c8"
130 | integrity sha512-nkpvPWbpuzxo1flEYqNIbGz7xhfhGOKGAZS7tzC+TELgEmi7z99qRyTfNSUlW7LZmB3ACdnqAo+9A9KFBENviQ==
131 | dependencies:
132 | "@algolia/cache-common" "4.19.1"
133 | "@algolia/logger-common" "4.19.1"
134 | "@algolia/requester-common" "4.19.1"
135 |
136 | "@babel/parser@^7.20.15", "@babel/parser@^7.21.3":
137 | version "7.22.16"
138 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.16.tgz#180aead7f247305cce6551bea2720934e2fa2c95"
139 | integrity sha512-+gPfKv8UWeKKeJTUxe59+OobVcrYHETCsORl61EmSkmgymguYk/X5bp7GuUIXaFsc6y++v8ZxPsLSSuujqDphA==
140 |
141 | "@discord-message-components/core@^0.2.1":
142 | version "0.2.1"
143 | resolved "https://registry.yarnpkg.com/@discord-message-components/core/-/core-0.2.1.tgz#25ed35b3aa42eee89e6c9d4e084c747e40953aae"
144 | integrity sha512-oPxBpq5vS7yLYvfMcHpCt1JVcGuRtnksPsJoiAmtmWDOeiO83BWfWvC1Xhvb2B6gNpg/H6+y6XuX3FhuHORJfA==
145 | dependencies:
146 | "@discord-message-components/markdown" "^0.2.0"
147 | color-rgba "^2.2.3"
148 |
149 | "@discord-message-components/markdown@^0.2.0":
150 | version "0.2.0"
151 | resolved "https://registry.yarnpkg.com/@discord-message-components/markdown/-/markdown-0.2.0.tgz#532496d28a4a5ba352bab1a4947bd8f11ea99af6"
152 | integrity sha512-Av+Q6rUNTtYqKI0NqkcPDNoYv2U7YcWNQmAEDU1JMR7lZOoz5R/iSGV1TwAs6uoYNawDovBECiEQgIDUxKKPBg==
153 | dependencies:
154 | simple-markdown "^0.7.3"
155 |
156 | "@discord-message-components/vue@^0.2.1":
157 | version "0.2.1"
158 | resolved "https://registry.yarnpkg.com/@discord-message-components/vue/-/vue-0.2.1.tgz#34cf53a9aecec3ce32296963c0d35c4e8199c509"
159 | integrity sha512-BLs6JshamjKh28f9boWIDMZ/BqWqLfg9wUUGxE3PqnMaomqKgs1eeWMKff/20Ie1cBJ6vYSYCxxxQUsw97SptQ==
160 | dependencies:
161 | "@discord-message-components/core" "^0.2.1"
162 |
163 | "@docsearch/css@3.5.2", "@docsearch/css@^3.5.2":
164 | version "3.5.2"
165 | resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.5.2.tgz#610f47b48814ca94041df969d9fcc47b91fc5aac"
166 | integrity sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==
167 |
168 | "@docsearch/js@^3.5.2":
169 | version "3.5.2"
170 | resolved "https://registry.yarnpkg.com/@docsearch/js/-/js-3.5.2.tgz#a11cb2e7e62890e9e940283fed6972ecf632629d"
171 | integrity sha512-p1YFTCDflk8ieHgFJYfmyHBki1D61+U9idwrLh+GQQMrBSP3DLGKpy0XUJtPjAOPltcVbqsTjiPFfH7JImjUNg==
172 | dependencies:
173 | "@docsearch/react" "3.5.2"
174 | preact "^10.0.0"
175 |
176 | "@docsearch/react@3.5.2":
177 | version "3.5.2"
178 | resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.5.2.tgz#2e6bbee00eb67333b64906352734da6aef1232b9"
179 | integrity sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==
180 | dependencies:
181 | "@algolia/autocomplete-core" "1.9.3"
182 | "@algolia/autocomplete-preset-algolia" "1.9.3"
183 | "@docsearch/css" "3.5.2"
184 | algoliasearch "^4.19.1"
185 |
186 | "@esbuild/android-arm64@0.18.20":
187 | version "0.18.20"
188 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622"
189 | integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==
190 |
191 | "@esbuild/android-arm@0.18.20":
192 | version "0.18.20"
193 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682"
194 | integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==
195 |
196 | "@esbuild/android-x64@0.18.20":
197 | version "0.18.20"
198 | resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2"
199 | integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==
200 |
201 | "@esbuild/darwin-arm64@0.18.20":
202 | version "0.18.20"
203 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz#08172cbeccf95fbc383399a7f39cfbddaeb0d7c1"
204 | integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==
205 |
206 | "@esbuild/darwin-x64@0.18.20":
207 | version "0.18.20"
208 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d"
209 | integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==
210 |
211 | "@esbuild/freebsd-arm64@0.18.20":
212 | version "0.18.20"
213 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54"
214 | integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==
215 |
216 | "@esbuild/freebsd-x64@0.18.20":
217 | version "0.18.20"
218 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e"
219 | integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==
220 |
221 | "@esbuild/linux-arm64@0.18.20":
222 | version "0.18.20"
223 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0"
224 | integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==
225 |
226 | "@esbuild/linux-arm@0.18.20":
227 | version "0.18.20"
228 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0"
229 | integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==
230 |
231 | "@esbuild/linux-ia32@0.18.20":
232 | version "0.18.20"
233 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7"
234 | integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==
235 |
236 | "@esbuild/linux-loong64@0.18.20":
237 | version "0.18.20"
238 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d"
239 | integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==
240 |
241 | "@esbuild/linux-mips64el@0.18.20":
242 | version "0.18.20"
243 | resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231"
244 | integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==
245 |
246 | "@esbuild/linux-ppc64@0.18.20":
247 | version "0.18.20"
248 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb"
249 | integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==
250 |
251 | "@esbuild/linux-riscv64@0.18.20":
252 | version "0.18.20"
253 | resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6"
254 | integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==
255 |
256 | "@esbuild/linux-s390x@0.18.20":
257 | version "0.18.20"
258 | resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071"
259 | integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==
260 |
261 | "@esbuild/linux-x64@0.18.20":
262 | version "0.18.20"
263 | resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz#c7690b3417af318a9b6f96df3031a8865176d338"
264 | integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==
265 |
266 | "@esbuild/netbsd-x64@0.18.20":
267 | version "0.18.20"
268 | resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1"
269 | integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==
270 |
271 | "@esbuild/openbsd-x64@0.18.20":
272 | version "0.18.20"
273 | resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae"
274 | integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==
275 |
276 | "@esbuild/sunos-x64@0.18.20":
277 | version "0.18.20"
278 | resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d"
279 | integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==
280 |
281 | "@esbuild/win32-arm64@0.18.20":
282 | version "0.18.20"
283 | resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9"
284 | integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==
285 |
286 | "@esbuild/win32-ia32@0.18.20":
287 | version "0.18.20"
288 | resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102"
289 | integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==
290 |
291 | "@esbuild/win32-x64@0.18.20":
292 | version "0.18.20"
293 | resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d"
294 | integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==
295 |
296 | "@jridgewell/sourcemap-codec@^1.4.15":
297 | version "1.4.15"
298 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
299 | integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
300 |
301 | "@types/prop-types@*":
302 | version "15.7.5"
303 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf"
304 | integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==
305 |
306 | "@types/react@>=16.0.0":
307 | version "18.2.21"
308 | resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.21.tgz#774c37fd01b522d0b91aed04811b58e4e0514ed9"
309 | integrity sha512-neFKG/sBAwGxHgXiIxnbm3/AAVQ/cMRS93hvBpg8xYRbeQSPVABp9U2bRnPf0iI4+Ucdv3plSxKK+3CW2ENJxA==
310 | dependencies:
311 | "@types/prop-types" "*"
312 | "@types/scheduler" "*"
313 | csstype "^3.0.2"
314 |
315 | "@types/scheduler@*":
316 | version "0.16.3"
317 | resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.3.tgz#cef09e3ec9af1d63d2a6cc5b383a737e24e6dcf5"
318 | integrity sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==
319 |
320 | "@types/web-bluetooth@^0.0.17":
321 | version "0.0.17"
322 | resolved "https://registry.yarnpkg.com/@types/web-bluetooth/-/web-bluetooth-0.0.17.tgz#5c9f3c617f64a9735d7b72a7cc671e166d900c40"
323 | integrity sha512-4p9vcSmxAayx72yn70joFoL44c9MO/0+iVEBIQXe3v2h2SiAsEIo/G5v6ObFWvNKRFjbrVadNf9LqEEZeQPzdA==
324 |
325 | "@vue/compiler-core@3.3.4":
326 | version "3.3.4"
327 | resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.3.4.tgz#7fbf591c1c19e1acd28ffd284526e98b4f581128"
328 | integrity sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==
329 | dependencies:
330 | "@babel/parser" "^7.21.3"
331 | "@vue/shared" "3.3.4"
332 | estree-walker "^2.0.2"
333 | source-map-js "^1.0.2"
334 |
335 | "@vue/compiler-dom@3.3.4":
336 | version "3.3.4"
337 | resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz#f56e09b5f4d7dc350f981784de9713d823341151"
338 | integrity sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==
339 | dependencies:
340 | "@vue/compiler-core" "3.3.4"
341 | "@vue/shared" "3.3.4"
342 |
343 | "@vue/compiler-sfc@3.3.4":
344 | version "3.3.4"
345 | resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz#b19d942c71938893535b46226d602720593001df"
346 | integrity sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==
347 | dependencies:
348 | "@babel/parser" "^7.20.15"
349 | "@vue/compiler-core" "3.3.4"
350 | "@vue/compiler-dom" "3.3.4"
351 | "@vue/compiler-ssr" "3.3.4"
352 | "@vue/reactivity-transform" "3.3.4"
353 | "@vue/shared" "3.3.4"
354 | estree-walker "^2.0.2"
355 | magic-string "^0.30.0"
356 | postcss "^8.1.10"
357 | source-map-js "^1.0.2"
358 |
359 | "@vue/compiler-ssr@3.3.4":
360 | version "3.3.4"
361 | resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz#9d1379abffa4f2b0cd844174ceec4a9721138777"
362 | integrity sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==
363 | dependencies:
364 | "@vue/compiler-dom" "3.3.4"
365 | "@vue/shared" "3.3.4"
366 |
367 | "@vue/devtools-api@^6.5.0":
368 | version "6.5.0"
369 | resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.5.0.tgz#98b99425edee70b4c992692628fa1ea2c1e57d07"
370 | integrity sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==
371 |
372 | "@vue/reactivity-transform@3.3.4":
373 | version "3.3.4"
374 | resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz#52908476e34d6a65c6c21cd2722d41ed8ae51929"
375 | integrity sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==
376 | dependencies:
377 | "@babel/parser" "^7.20.15"
378 | "@vue/compiler-core" "3.3.4"
379 | "@vue/shared" "3.3.4"
380 | estree-walker "^2.0.2"
381 | magic-string "^0.30.0"
382 |
383 | "@vue/reactivity@3.3.4":
384 | version "3.3.4"
385 | resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.3.4.tgz#a27a29c6cd17faba5a0e99fbb86ee951653e2253"
386 | integrity sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==
387 | dependencies:
388 | "@vue/shared" "3.3.4"
389 |
390 | "@vue/runtime-core@3.3.4":
391 | version "3.3.4"
392 | resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.3.4.tgz#4bb33872bbb583721b340f3088888394195967d1"
393 | integrity sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==
394 | dependencies:
395 | "@vue/reactivity" "3.3.4"
396 | "@vue/shared" "3.3.4"
397 |
398 | "@vue/runtime-dom@3.3.4":
399 | version "3.3.4"
400 | resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz#992f2579d0ed6ce961f47bbe9bfe4b6791251566"
401 | integrity sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==
402 | dependencies:
403 | "@vue/runtime-core" "3.3.4"
404 | "@vue/shared" "3.3.4"
405 | csstype "^3.1.1"
406 |
407 | "@vue/server-renderer@3.3.4":
408 | version "3.3.4"
409 | resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.3.4.tgz#ea46594b795d1536f29bc592dd0f6655f7ea4c4c"
410 | integrity sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==
411 | dependencies:
412 | "@vue/compiler-ssr" "3.3.4"
413 | "@vue/shared" "3.3.4"
414 |
415 | "@vue/shared@3.3.4":
416 | version "3.3.4"
417 | resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.3.4.tgz#06e83c5027f464eef861c329be81454bc8b70780"
418 | integrity sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==
419 |
420 | "@vueuse/core@10.4.1", "@vueuse/core@^10.4.1":
421 | version "10.4.1"
422 | resolved "https://registry.yarnpkg.com/@vueuse/core/-/core-10.4.1.tgz#fc2c8a83a571c207aaedbe393b22daa6d35123f2"
423 | integrity sha512-DkHIfMIoSIBjMgRRvdIvxsyboRZQmImofLyOHADqiVbQVilP8VVHDhBX2ZqoItOgu7dWa8oXiNnScOdPLhdEXg==
424 | dependencies:
425 | "@types/web-bluetooth" "^0.0.17"
426 | "@vueuse/metadata" "10.4.1"
427 | "@vueuse/shared" "10.4.1"
428 | vue-demi ">=0.14.5"
429 |
430 | "@vueuse/integrations@^10.4.1":
431 | version "10.4.1"
432 | resolved "https://registry.yarnpkg.com/@vueuse/integrations/-/integrations-10.4.1.tgz#a48356a0bad49f5e724cd9acaebd73d2b66f22a9"
433 | integrity sha512-uRBPyG5Lxoh1A/J+boiioPT3ELEAPEo4t8W6Mr4yTKIQBeW/FcbsotZNPr4k9uz+3QEksMmflWloS9wCnypM7g==
434 | dependencies:
435 | "@vueuse/core" "10.4.1"
436 | "@vueuse/shared" "10.4.1"
437 | vue-demi ">=0.14.5"
438 |
439 | "@vueuse/metadata@10.4.1":
440 | version "10.4.1"
441 | resolved "https://registry.yarnpkg.com/@vueuse/metadata/-/metadata-10.4.1.tgz#9d2ff5c67abf17a8c07865c2413fbd0e92f7b7d7"
442 | integrity sha512-2Sc8X+iVzeuMGHr6O2j4gv/zxvQGGOYETYXEc41h0iZXIRnRbJZGmY/QP8dvzqUelf8vg0p/yEA5VpCEu+WpZg==
443 |
444 | "@vueuse/shared@10.4.1":
445 | version "10.4.1"
446 | resolved "https://registry.yarnpkg.com/@vueuse/shared/-/shared-10.4.1.tgz#d5ce33033c156efb60664b5d6034d6cd4e2f530c"
447 | integrity sha512-vz5hbAM4qA0lDKmcr2y3pPdU+2EVw/yzfRsBdu+6+USGa4PxqSQRYIUC9/NcT06y+ZgaTsyURw2I9qOFaaXHAg==
448 | dependencies:
449 | vue-demi ">=0.14.5"
450 |
451 | algoliasearch@^4.19.1:
452 | version "4.19.1"
453 | resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-4.19.1.tgz#18111fb422eaf841737adb92d5ab12133d244218"
454 | integrity sha512-IJF5b93b2MgAzcE/tuzW0yOPnuUyRgGAtaPv5UUywXM8kzqfdwZTO4sPJBzoGz1eOy6H9uEchsJsBFTELZSu+g==
455 | dependencies:
456 | "@algolia/cache-browser-local-storage" "4.19.1"
457 | "@algolia/cache-common" "4.19.1"
458 | "@algolia/cache-in-memory" "4.19.1"
459 | "@algolia/client-account" "4.19.1"
460 | "@algolia/client-analytics" "4.19.1"
461 | "@algolia/client-common" "4.19.1"
462 | "@algolia/client-personalization" "4.19.1"
463 | "@algolia/client-search" "4.19.1"
464 | "@algolia/logger-common" "4.19.1"
465 | "@algolia/logger-console" "4.19.1"
466 | "@algolia/requester-browser-xhr" "4.19.1"
467 | "@algolia/requester-common" "4.19.1"
468 | "@algolia/requester-node-http" "4.19.1"
469 | "@algolia/transporter" "4.19.1"
470 |
471 | ansi-sequence-parser@^1.1.0:
472 | version "1.1.1"
473 | resolved "https://registry.yarnpkg.com/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz#e0aa1cdcbc8f8bb0b5bca625aac41f5f056973cf"
474 | integrity sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==
475 |
476 | color-name@^1.0.0:
477 | version "1.1.4"
478 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
479 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
480 |
481 | color-parse@^1.4.2:
482 | version "1.4.3"
483 | resolved "https://registry.yarnpkg.com/color-parse/-/color-parse-1.4.3.tgz#6dadfb49128c554c60c49d63f3d025f2c5a7ff22"
484 | integrity sha512-BADfVl/FHkQkyo8sRBwMYBqemqsgnu7JZAwUgvBvuwwuNUZAhSvLTbsEErS5bQXzOjDR0dWzJ4vXN2Q+QoPx0A==
485 | dependencies:
486 | color-name "^1.0.0"
487 |
488 | color-rgba@^2.2.3:
489 | version "2.4.0"
490 | resolved "https://registry.yarnpkg.com/color-rgba/-/color-rgba-2.4.0.tgz#ae85819c530262c29fc2da129fc7c8f9efc57015"
491 | integrity sha512-Nti4qbzr/z2LbUWySr7H9dk3Rl7gZt7ihHAxlgT4Ho90EXWkjtkL1avTleu9yeGuqrt/chxTB6GKK8nZZ6V0+Q==
492 | dependencies:
493 | color-parse "^1.4.2"
494 | color-space "^2.0.0"
495 |
496 | color-space@^2.0.0:
497 | version "2.0.1"
498 | resolved "https://registry.yarnpkg.com/color-space/-/color-space-2.0.1.tgz#da39871175baf4a5785ba519397df04b8d67e0fa"
499 | integrity sha512-nKqUYlo0vZATVOFHY810BSYjmCARrG7e5R3UE3CQlyjJTvv5kSSmPG1kzm/oDyyqjehM+lW1RnEt9It9GNa5JA==
500 |
501 | csstype@^3.0.2, csstype@^3.1.1:
502 | version "3.1.2"
503 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b"
504 | integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==
505 |
506 | esbuild@^0.18.10:
507 | version "0.18.20"
508 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.20.tgz#4709f5a34801b43b799ab7d6d82f7284a9b7a7a6"
509 | integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==
510 | optionalDependencies:
511 | "@esbuild/android-arm" "0.18.20"
512 | "@esbuild/android-arm64" "0.18.20"
513 | "@esbuild/android-x64" "0.18.20"
514 | "@esbuild/darwin-arm64" "0.18.20"
515 | "@esbuild/darwin-x64" "0.18.20"
516 | "@esbuild/freebsd-arm64" "0.18.20"
517 | "@esbuild/freebsd-x64" "0.18.20"
518 | "@esbuild/linux-arm" "0.18.20"
519 | "@esbuild/linux-arm64" "0.18.20"
520 | "@esbuild/linux-ia32" "0.18.20"
521 | "@esbuild/linux-loong64" "0.18.20"
522 | "@esbuild/linux-mips64el" "0.18.20"
523 | "@esbuild/linux-ppc64" "0.18.20"
524 | "@esbuild/linux-riscv64" "0.18.20"
525 | "@esbuild/linux-s390x" "0.18.20"
526 | "@esbuild/linux-x64" "0.18.20"
527 | "@esbuild/netbsd-x64" "0.18.20"
528 | "@esbuild/openbsd-x64" "0.18.20"
529 | "@esbuild/sunos-x64" "0.18.20"
530 | "@esbuild/win32-arm64" "0.18.20"
531 | "@esbuild/win32-ia32" "0.18.20"
532 | "@esbuild/win32-x64" "0.18.20"
533 |
534 | estree-walker@^2.0.2:
535 | version "2.0.2"
536 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
537 | integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
538 |
539 | focus-trap@^7.5.2:
540 | version "7.5.2"
541 | resolved "https://registry.yarnpkg.com/focus-trap/-/focus-trap-7.5.2.tgz#e5ee678d10a18651f2591ffb66c949fb098d57cf"
542 | integrity sha512-p6vGNNWLDGwJCiEjkSK6oERj/hEyI9ITsSwIUICBoKLlWiTWXJRfQibCwcoi50rTZdbi87qDtUlMCmQwsGSgPw==
543 | dependencies:
544 | tabbable "^6.2.0"
545 |
546 | fsevents@~2.3.2:
547 | version "2.3.3"
548 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
549 | integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
550 |
551 | jsonc-parser@^3.2.0:
552 | version "3.2.0"
553 | resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76"
554 | integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==
555 |
556 | magic-string@^0.30.0:
557 | version "0.30.3"
558 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.3.tgz#403755dfd9d6b398dfa40635d52e96c5ac095b85"
559 | integrity sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==
560 | dependencies:
561 | "@jridgewell/sourcemap-codec" "^1.4.15"
562 |
563 | mark.js@8.11.1:
564 | version "8.11.1"
565 | resolved "https://registry.yarnpkg.com/mark.js/-/mark.js-8.11.1.tgz#180f1f9ebef8b0e638e4166ad52db879beb2ffc5"
566 | integrity sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==
567 |
568 | minisearch@^6.1.0:
569 | version "6.1.0"
570 | resolved "https://registry.yarnpkg.com/minisearch/-/minisearch-6.1.0.tgz#6e74e743dbd0e88fa5ca52fef2391e0aa7055252"
571 | integrity sha512-PNxA/X8pWk+TiqPbsoIYH0GQ5Di7m6326/lwU/S4mlo4wGQddIcf/V//1f9TB0V4j59b57b+HZxt8h3iMROGvg==
572 |
573 | nanoid@^3.3.6:
574 | version "3.3.6"
575 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c"
576 | integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
577 |
578 | picocolors@^1.0.0:
579 | version "1.0.0"
580 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
581 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
582 |
583 | postcss@^8.1.10, postcss@^8.4.27:
584 | version "8.4.29"
585 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.29.tgz#33bc121cf3b3688d4ddef50be869b2a54185a1dd"
586 | integrity sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw==
587 | dependencies:
588 | nanoid "^3.3.6"
589 | picocolors "^1.0.0"
590 | source-map-js "^1.0.2"
591 |
592 | preact@^10.0.0:
593 | version "10.17.1"
594 | resolved "https://registry.yarnpkg.com/preact/-/preact-10.17.1.tgz#0a1b3c658c019e759326b9648c62912cf5c2dde1"
595 | integrity sha512-X9BODrvQ4Ekwv9GURm9AKAGaomqXmip7NQTZgY7gcNmr7XE83adOMJvd3N42id1tMFU7ojiynRsYnY6/BRFxLA==
596 |
597 | rollup@^3.27.1:
598 | version "3.29.0"
599 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.29.0.tgz#1b40e64818afc979c7e5bef93de675829288986b"
600 | integrity sha512-nszM8DINnx1vSS+TpbWKMkxem0CDWk3cSit/WWCBVs9/JZ1I/XLwOsiUglYuYReaeWWSsW9kge5zE5NZtf/a4w==
601 | optionalDependencies:
602 | fsevents "~2.3.2"
603 |
604 | shiki@^0.14.3:
605 | version "0.14.4"
606 | resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.14.4.tgz#2454969b466a5f75067d0f2fa0d7426d32881b20"
607 | integrity sha512-IXCRip2IQzKwxArNNq1S+On4KPML3Yyn8Zzs/xRgcgOWIr8ntIK3IKzjFPfjy/7kt9ZMjc+FItfqHRBg8b6tNQ==
608 | dependencies:
609 | ansi-sequence-parser "^1.1.0"
610 | jsonc-parser "^3.2.0"
611 | vscode-oniguruma "^1.7.0"
612 | vscode-textmate "^8.0.0"
613 |
614 | simple-markdown@^0.7.3:
615 | version "0.7.3"
616 | resolved "https://registry.yarnpkg.com/simple-markdown/-/simple-markdown-0.7.3.tgz#e32150b2ec6f8287197d09869fd928747a9c5640"
617 | integrity sha512-uGXIc13NGpqfPeFJIt/7SHHxd6HekEJYtsdoCM06mEBPL9fQH/pSD7LRM6PZ7CKchpSvxKL4tvwMamqAaNDAyg==
618 | dependencies:
619 | "@types/react" ">=16.0.0"
620 |
621 | source-map-js@^1.0.2:
622 | version "1.0.2"
623 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
624 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
625 |
626 | tabbable@^6.2.0:
627 | version "6.2.0"
628 | resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.2.0.tgz#732fb62bc0175cfcec257330be187dcfba1f3b97"
629 | integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==
630 |
631 | vite@^4.4.9:
632 | version "4.4.9"
633 | resolved "https://registry.yarnpkg.com/vite/-/vite-4.4.9.tgz#1402423f1a2f8d66fd8d15e351127c7236d29d3d"
634 | integrity sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==
635 | dependencies:
636 | esbuild "^0.18.10"
637 | postcss "^8.4.27"
638 | rollup "^3.27.1"
639 | optionalDependencies:
640 | fsevents "~2.3.2"
641 |
642 | vitepress@^1.0.0-rc.10:
643 | version "1.0.0-rc.10"
644 | resolved "https://registry.yarnpkg.com/vitepress/-/vitepress-1.0.0-rc.10.tgz#c33361e84a1ad64d3eb3039dc302dc4f00054585"
645 | integrity sha512-+MsahIWqq5WUEmj6MR4obcKYbT7im07jZPCQPdNJExkeOSbOAJ4xypSLx88x7rvtzWHhHc5aXbOhCRvGEGjFrw==
646 | dependencies:
647 | "@docsearch/css" "^3.5.2"
648 | "@docsearch/js" "^3.5.2"
649 | "@vue/devtools-api" "^6.5.0"
650 | "@vueuse/core" "^10.4.1"
651 | "@vueuse/integrations" "^10.4.1"
652 | focus-trap "^7.5.2"
653 | mark.js "8.11.1"
654 | minisearch "^6.1.0"
655 | shiki "^0.14.3"
656 | vite "^4.4.9"
657 | vue "^3.3.4"
658 |
659 | vscode-oniguruma@^1.7.0:
660 | version "1.7.0"
661 | resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz#439bfad8fe71abd7798338d1cd3dc53a8beea94b"
662 | integrity sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==
663 |
664 | vscode-textmate@^8.0.0:
665 | version "8.0.0"
666 | resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-8.0.0.tgz#2c7a3b1163ef0441097e0b5d6389cd5504b59e5d"
667 | integrity sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==
668 |
669 | vue-demi@>=0.14.5:
670 | version "0.14.6"
671 | resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.14.6.tgz#dc706582851dc1cdc17a0054f4fec2eb6df74c92"
672 | integrity sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==
673 |
674 | vue@^3.3.4:
675 | version "3.3.4"
676 | resolved "https://registry.yarnpkg.com/vue/-/vue-3.3.4.tgz#8ed945d3873667df1d0fcf3b2463ada028f88bd6"
677 | integrity sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==
678 | dependencies:
679 | "@vue/compiler-dom" "3.3.4"
680 | "@vue/compiler-sfc" "3.3.4"
681 | "@vue/runtime-dom" "3.3.4"
682 | "@vue/server-renderer" "3.3.4"
683 | "@vue/shared" "3.3.4"
684 |
--------------------------------------------------------------------------------