There was a recent update (that is hopefully the most recent update) on July 28, 2024.
ANNOUNCEMENT: As of 23:17:55.00 28 July 2024 GMT-4, my code is now released under the AGPLv3, and any versions released after that datetime will be licensed under the AGPL.
Disclaimer: As of July 28, 2024, I am still a high school student making this discord bot for fun. I am not a lawyer. If you want legal advice, you must ask a real lawyer.
Disclaimer 2: I didn't consult any legal advice while writing these Terms, or while modifying them, or revising them, or doing any step in the writing process of these Terms.
Disclaimer 3: I am not experienced in crafting legally binding documents!
Disclaimer 4: This document is provided to be the rules of my bot, and cannot constitute legal advice (since it is provided for informational purposes only). However, I may take action based on the rules that I outline in my Terms.
By using the application (The Discord Math Problem Bot), you agree to these Terms.
Also, if you use my DMCA inbox with the intent or purpose of sending a DMCA request, or you use my DMCA inbox to send me things using this information, you agree to be bound by section 12
Note: This language of this document is quite informal.# 0: Terms & Conditions
Most of this language should be self-explanatory. Please create an issue if it isn't!
By using the application (The Discord Math Problem Bot), you agree to these Terms.
Note: This language of this document is quite informal.
(These definitions are in no particular order, and there may be definitions scattered throughout the place)
- "a real lawyer" means someone who is qualified to practice law
- "us/we" means the people who develop/maintain The Discord Math Problem Bot (on the official instance, it's @rf20008)
- "trusted users": people who have the trusted user status in the bot.
- "these Terms" refer to these Terms and Conditions.
- "Discord's Terms and Conditions" (or "Discord's Terms") refer to Discord's terms and conditions.
- "or" is the inclusive or, which means at least one of the things mentioned, or more than one, or any combination of them. For example, "A or B or C or ... or Z" means any one of A, B, C, D, ..., or Z, or any combination of them (like any 2 of them, or any 3 of them, or any 4 of them, etc).
- "the bot" means The Discord Math Problem Bot.
- "I/me" means @rf20008 (but for fork instances of the bot, the pronoun" would not refer to @rf20008, but instead to the owner and runner of the fork.
- "instances of the bot" refer to individual installations or versions of The Discord Math Problem Bot that are deployed and operated independently by users. Each instance represents a unique iteration of the bot's functionality, tailored to the specific needs or preferences of the user or community managing it. Instances include both the original version of the bot developed by the creator, as well as any forked or modified versions created by users under the terms of the (A)GPLv3 license.
- "The main instance of my bot", or terms like that, refers to the instance of the bot that I run.
- "fork instances of the bot" refer to instances of my bot that I do not run. If someone forked my repository and ran a version of my bot from their computer, that instance would be considered a "fork instance of the bot". In particular, the main instance of my bot is not a fork instance of the bot.
- "guild administrators" means people who have the 'administrator' permission in the guild.
- "you" refers to any user of this bot, or any entity that accesses any part of The Discord Math Problem Bot in such a way that these Terms apply, or both.
- "NSFW" stands for Not Safe For Work.
- "NSFL" stands for Not Safe For Life.
- "Pull Request"/"PR" refers to a proposed change submitted to a repository on GitHub or similar platform. PRs are used to suggest and discuss modifications to the codebase, documentation, or other project files.
- "Verification Code(s)" refer to codes created by the bot for the purpose of verifying account identity.
Trusted users (including me) reserve the right to deny-list users from the official instance of the bot for many reasons, including:
- Sending NSFW/NSFL content through problems
- Submitting copyrighted problems that are reported (or that they find)
- Spamming the bot. The bot might ban you for spamming.
- Disrespecting/targeting/etc... people through problems.
- Exploiting bugs instead of reporting them.
- Using my bot to violate Discord's Terms of Service directly, or causing my bot to violate Discord's Terms of Service in such a way that is your fault
The trusted users/guild administrators (if the problem isn't global) also have the right to delete problems submitted to the bot for many reasons, including
- Disrespecting/targeting/etc... people through problems
- Sending NSFW/NSFL content through problems.
- Sending copyrighted things that the author does not have the correct rights to license to this bot.
As mentioned earlier, I AM NOT A LAWYER! I DID NOT OBTAIN ANY LEGAL ADVICE WHILE WRITING THIS DOCUMENT! I am only a 10th grader as of March 4, 2024. The purpose of this discord bot is, of course, to function, but more so, it is so that I can learn how to make a Discord bot.
I am NOT a lawyer. If you want any legal advice, you must ask a real lawyer.
I'm not liable for the content this bot shows you as I do not produce it. Sometimes I shut my bot off for development purposes (if I do, I usually notify you), but otherwise I'm not liable to anyone for that too.
I try to get rid of bugs, but I'm not liable for them if they occur. However, in most serious cases, the law would supersede this.
(However, some bugs might be serious enough or cause guarantees of the ToS to not hold. In those cases, this might not apply.)
(In some places, I'm not allowed to legally disclaim liability. If you live in such a place, please ignore this section.) (In some scenarios, laws might supersede this policy. In those cases, I will still be liable. This is the case if there is no plausible interpretation of the law that says I am not liable to you. In those cases, I am still liable.)
In most serious scenarios, the law would supersede this policy. I would still be liable in those cases.
When you submit anything that The Discord Math Problem Bot needs to process (i.e: problems, quizzes, appeals, responses, solutions) to this bot, you (the user of the bot) give me (ay136416 / rf20008) a perpetual, royalty-free, worldwide, non-revocable, etc. license with enough rights to allow me to use this bot to process, store, show, etc. the problem in order for the bot to function properly. However, you don't necessarily transfer ownership to me, and you still get credit for this problem wherever the bot shows it.
All the disclaimers of section 0.1 are incorporated here by reference, and are section 3.4.1, section 3.4.2, 3.4.3, etc (where disclaimer number n in Section 0.1 is incorporated as section 3.4.n.)
When the law complicates stuff & it invalidates parts of these Terms, only the smallest part that, when removed, makes the law not complicate stuff and makes the rest of the Terms invalid, will be removed from the Terms. More succinctly: Any parts that are illegal are not in force. However only the parts that are illegal are not in force. Inspiration: https://arcane.bot/tos
If this is not allowed, the above section is rendered null. If it's rendered null, when the law complicates stuff, it will be handled on a case-by-case basis instead.
I may change the Terms at any time and for any reason. We won't notify you individually (because we don't store contact data about you with the express purpose of contacting you). However, we might use the bot's status/the official server/other ways to notify you.
When the changes are significant, I will try to notify you. I might forget.
Suggestions to this are welcome (as of right now)! If you make any TOS changes that will affect people's usage of the bot, please let me know through the commit message. Pull requests containing changes to my Terms of Service or my Privacy Policy will be considered more strictly.
These Terms shall not be construed to prevent you from doing anything that the AGPLv3 License allows you to do.
In other words, if the AGPLv3 or later allows you to do something that my terms prevent you from doing, you can still do it.
You have the rights to copy, modify, analyze, run, distribute, etc my code, but only as long as you follow the rules of the AGPLv3. If you do not follow the AGPLv3, you must not copy my code and take it closed sourced, or do any other interaction with my code. Also, you must follow the AGPLv3, which requires you to distribute copies of your source code to people if they want it, even if you run your instance over a network. Also, you should encourage them to follow the AGPLv3.
As my bot is being hosted and run according to the Discord API and interacts with Discord in such a way that their terms apply, you must follow Discord's Terms and Conditions. You must not use my bot to break Discord's Terms of Service.
For legal reasons, those are licensed under AGPLv3 or later! The maintainers of the fork have the right to change these Terms, but the modified Terms do not apply to this version unless the changes are merged into the main version! Note that I am not liable for forks/modifications of this bot as I do not have control over them.
You have the rights to copy, modify, analyze, run, distribute, etc my code, but only as long as you follow the rules of the AGPLv3. If you do not follow the AGPLv3, you must not copy my code and take it closed sourced, or do any other interaction with my code.
Note the tone change does not mean these following terms are less relevant or less applicable than normal! They still have the same power as the rest of these Terms!
Let's review what could cause you to be terminated.
Refer back to section 2. That section lists what could cause you to be deny-listed.
A deny-list is a list of entities or individuals that are explicitly prohibited from accessing or using a particular service, syste, or resource. In general, when someone is added to a deny list, they cannot access the full features of the service, and their rights are severely reduced. Sometimes, being put on a deny list entails a complete and total ban!
In the case of this discord bot, being put on our denylist prevents you from interacting with most commands. However, some commands are still available, like /user_data get_data, and /user_data delete_all. Read further for what being denylisted actually entails.
Only people with the trusted user status can denylist people, unless there's a bug with my bot. The "trusted user" status is obtained by having another trusted user make you a trusted user. (I know, this might be abused!) I am a trusted user, unless I remove my trusted user status. Trusted users have the ability to do special commands, but we're concerned about denylists, so we'll focus on those.
By default, being put on the denylist is permanent, because I have not implemented a method to remove people after a certain time. However, it is relatively easy to implement.
An /appeal command exists, which is available to denylisted people, and allows you to submit an appeal. However, it is not guaranteed that your appeal will be read or acted upon. Also, you can be denylisted for making frivolous appeals.
To be denylisted means you lose access to certain features of the bot. This includes commands such as /solve, /check_answer, and /help. However, some commands, like /user_data get_data, and /user_data delete_all, are still accessible. Being on the denylist restricts your ability to interact fully with the bot.
Currently, there is no real-time notification system to notify people that they've been deny-listed. This might change in the future. The only way you will know whether you are deny-listed will be when you run a command that only non-denylisted users can run.
When you are denylisted, you will only be able to interact partially with my bot, but you are not completely banned. Therefore, the Terms of Service will still apply to you in the ways that you use this, and the Privacy Policy will still apply to you.
You are still as free as you were before to exercise your rights under the AGPLv3 to my program. In particular, you can still make pull requests and issues (until there's a contribution agreement), look at my code as usual, copy it, modify it, run it, distribute it, analyze it.
However, you must follow the requirements of the AGPLv3.
Notwithstanding the relevant portions of the AGPLv3 and applicable law, you must not sell things related to my bot. This means, for example, that you must not sell problems, solutions, answers, votes, quizzes, answer keys, statuses, or things like that.
Also, even though these Terms do not explicitly disallow selling guild permissions, doing so is extremely strongly discouraged, and may also be prohibited by Discord's Terms and Services (I didn't check).
The following sections go into more detail about selling other things, and why that is prohibited. However, as a rule of thumb, you are not allowed to sell anything related to my bot, unless you're exercising your AGPLv3 right to sell forks of the bot that you control and own.
The following rule only applies to instances of my bot that are not fork instances of my bot:
- You must not sell trusted user status at all. This is because trusted user status is a moderation rank.
- You might be denylisted for selling trusted user status. Additionally, your trusted user status may be revoked. The rationale for this rule is that I want to prevent disruptions to my bot.
The following rule only applies to instances of my bot that are not fork instances of my bot:
- You must not sell ownership of my bot at any time.
- However, if you're not a developer of my bot and you don't own this bot, then you shouldn't even have ownership of my bot in the first place, ever.
The following section deserves its own section because I said so.
The following rules apply only to fork instances of my bot that are not the main bot.
- Please contribute to the OSS community. Therefore, it is discouraged, but not banned, to sell fork instances and make them private.
- As my bot is licensed under the AGPLv3, which is a copyleft license, you must license your forks under the AGPLv3 or any later version. Also, if you sell a fork, you must guarantee that they license their fork under the GPLv3 or any later version, and that they never change it.
- You still must provide the source code of your instance of your bot to any user upon request.
- Finally, you must follow the AGPLv3.
These rules apply to all instances of my bot, except those instances where this rule is removed. (If you are forking this bot, *PLEASE, PLEASE, PLEASE, KEEP AND ENFORCE this rule.) You must not sell NSFW/NSFL content anywhere on my bot. You may (and probably will ) be banned for this upon discovery. Also, you will probably be reported to Discord. Finally, you must not even distribute NSFW or NSFL content on my bot, because you will be subject to the same punishments (a possible denylist and being reported to Discord).
An /appeal command exists, which is available to denylisted people, and allows you to submit an appeal. However, it is not guaranteed that your appeal will be read or acted upon. Also, you can be denylisted for making frivolous appeals.
To be denylisted means you lose access to certain features of the bot. This includes commands such as /solve, /check_answer, and /help. However, some commands, like /user_data get_data, and /user_data delete_all, are still accessible. Being on the denylist restricts your ability to interact fully with the bot.
Currently, there is no real-time notification system to notify people that they've been deny-listed. This might change in the future. The only way you will know whether you are deny-listed will be when you run a command that only non-denylisted users can run.
When you are denylisted, you will only be able to interact partially with my bot, but you are not completely banned. Therefore, the Terms of Service will still apply to you in the ways that you use this, and the Privacy Policy will still apply to you.
You are still as free as you were before to exercise your rights under the GPLv3 to my program. In particular, you can still make pull requests and issues (until there's a contribution agreement), look at my code as usual, copy it, modify it, run it, distribute it, analyze it.
However, you must follow the requirements of the GPLv3.
Inspiration and credit: ChatGPT, Discord's IP Policy (found here), Groq AI, copyright.gov, and this guide
Remember I am not a lawyer. You must ask a real lawyer for legal advice.
Copyright violations are extremely serious, and I take them very seriously. I hope you take them very seriously too.
If you believe someone is violating your Copyright Rights, or your Intellectual Rights (hereafter your “Copyright/IP Rights”), follow this procedure.
You are required to send a notice to me, Samuel Guo. (hereafter "my designated DMCA agent")
Name: Samuel Guo
Email: whale5982 [at] gmail [dot] com
Phone number: 617 - 710 - 9418
Mail Address: 47 Philbrick Road, Newton Center, MA; 02459
Your notice must include:
- The work you believe is violating your Copyright/IP Rights.
- A sufficiently detailed description of where you believe this work is. The more detailed, the better. For example, you can provide me problem IDs, quiz IDs, or things like that. Be specific!
- A statement that you have a good faith belief that the disputed use is not authorized by the copyright or intellectual property owner, its agent, or the law, and that the information in your notice is accurate;
- A statement made under penalty of perjury that you have the permission and authority to act on behalf of the copyright or intellectual property owner. Beware: you made this statement under penalty of perjury, and there are serious penalties and repercussions for committing perjury. You have been warned.
- Your name and contact information so I can contact you.
- Your physical or electronic signature.
If you believe that your work was unfairly removed, and that it did not infringe on any Copyright/IP rights, you may send my designated DMCA agent a counter-notice including the following information:
- Identification of the disabled/removed content, where it was disabled, and where it was before it was disabled.
- Your physical or electronic signature
- Your name, address, and phone number
- A statement that the content was removed by mistake or misidentification
- Consent to the jurisdiction of the courts of Newton, Massachusetts, or another reasonable U.S. federal court that is reasonable for both of us
- Consent to accept service of process from the one who submitted the DMCA takedown notice
Be careful: If you falsely submit a DMCA counter-notice, you are liable. (Jackson)
When I receive a DMCA notice, I will try to act on it as soon as I can. I might temporarily disable or remove content pending review (however, since temporary disabling is not implemented, it will be permanently deleted from my database). I will try to review your DMCA notice carefully, make sure it's valid, and do other things like that, before I act on it. I will also communicate with relevant parties to gather more information if necessary. I will try to notify you upon my decision. Also, I will keep your DMCA notice for records-keeping purposes.
Remember again: I am not a lawyer. If you want legal advice, you must ask a real lawyer.
There's no specific timeline for processing DMCA requests, since I am a high school student, and I may have academic work, extracurriculars, and other things like that (like biking). However, I will try to respond to DMCA requests promptly.
You may not use my email to send me phishing emails, scam emails, junk emails, etc. Also, you may not spam my email by sending me huge numbers of garbage emails. Also, definitely, you may not send me any bombs or malware over the mail. You may not overflow my texts. All money you pay to send texts to me for DMCA purposes is your responsibility.
You may not harass, abuse, or threaten anyone using my DMCA inbox. Also, it is strongly discouraged to send off-topic things to my DMCA inbox.
Finally, you must not use my DMCA inbox for marketing purposes, and you must only send me things at a reasonable rate (not millions of emails per second).
Misusing my DMCA inbox is a bannable offense. Depending on your abuse, you may also be subject to legal penalties.
You are not violating section 12.5.0 if you send me in good faith a real, actual DMCA notice (or a real, actual DMCA counter-notice), and you try in good faith to fufill the requirements set out by the DMCA, no matter whether your notice is legitimate or not. You are not violating Section 12.5.0 if you send me in good faith an appeal related to my Discord bot. You are also not violating section 12.5.0 if you send me something along the lines of "Hello! I am [Name] from [Entity], and I found content at [PLACES] that we own. Please remove such content immediately or we will send a DMCA notice to you. Thank you!"
Section 12.5.2 applies only to the extent that it is a safe harbor protecting you from the provisions of section 12.5.0, and does not supercede the DMCA, federal law, Discord's ToS, or other related provisions.
Also, Section 12.5.2 does not protect you from any of the consequences of filing false DMCA notices. There are severe consequences for filing false notices.
Also, a final warning: There are severe consequences for filing false DMCA notices. Section 12.5.2 cannot protect you from those consequences.
Section 12.5.2 does not protect you, or transfer any liability away from you, or do anything like that, if you commit illegal acts such as perjury
Finally: If you commit perjury by submitting a false DMCA notice, Section 12.5.2 will not protect you or aid you in any way, shape, or form.