dolfies / discord.py-self

A fork of the popular discord.py for user accounts.
https://discordpy-self.rtfd.io/en/latest/
MIT License
680 stars 162 forks source link

Answers to some common questions #60

Closed dolfies closed 2 years ago

dolfies commented 3 years ago

I already put this in the latest pull request, but thought I should put it here too.


Some people have been asking about what will happen when 2.0 releases. I will rebase this project to that version, however, it won't be quick. v2.0 adds type-hints to the entire project, completely removes everything user-related, and changes a lot of things internally.

A lot of people have asked me to rename the project, because it conflicts with the original discord.py. I will not be doing this. I have chosen to keep the same package name in the name of backwards-compatibility. There is a scary amount of closed-source selfbots that cannot be easily edited to change import discord to import packagename as discord. Python has a great feature called virtual environments that can help people wanting to use both libs.

Update:
Since closed-source selfbots aren't as much as a problem as I thought, I have reconsidered.
Since some people want me to rename it, and some people do not, I'm kind of stuck.

What I'm planning to do is create a new branch on this repo that has a different import name. That way, you'll be able to install it using pip and use it as normal.
However, I won't be uploading that version to PyPi. You'll have to install and update manually.


I also want to address another thing

I see a lot of Python beginners using this project to create something that would work perfectly fine as a regular bot. I want to make it clear that you shouldn't break the Discord ToS for no reason (no matter how bad it is), and that working with a library such as this or the original discord.py for your first coding adventure is not a good idea. Get familiar with Python first, and then come back to the mess that is the Discord API. If you do come back, consider using a regular bot. I don't want script-kiddies getting banned for being curious. Been there, done that.

The reason I created this fork was to fix/improve upon discord.py's support of selfbots, and keep it maintained when discord.py removes it. Even though selfbots are against Discord ToS, I believe people should have a choice; writing code isn't against ToS, but using this library, unfortunately, is. For that reason, I cannot ever recommend anybody ever uses this, and I carry no responsibility for any crap you do.

In my opinion, Discord banning selfbots was an incredibly stupid idea. It hasn't stopped bad actors from using them, it has only affected regular people trying to enhance their chat experience on what is (or at least used to be) a wonderful platform, with a wonderful community, and caring staff.

They had good intentions, but the selfbot detection is easy to work around (and always will be). Raids, dm spam, and all the other cons of selfbots still occur. Raiders, spammers, and advertisers don't care if their alts get disabled, or even if their mains get banned; they'll just generate a few hundred more tokens and continue. Disabled accounts only affect the people that aren't raiding, spamming, or advertising; just having fun. The selfbot ban only stops people that actually use Discord for keeping in touch with friends and being a part of communities they love, and wanted to tinker, carry around some extra chatting features, and add functionality to their servers.

Selfbotting is very low-risk to people that will abuse it, and high-risk to people that want to mess around and create cool things on their account.

The solution is not banning selfbotting as a whole. It is acting against people who abuse the Discord API. If you support this, please go vote here and tell Discord how you feel.

For all of you saying "just use a bot":

~Dolfies

destroyace commented 3 years ago

A lot of people have asked me to rename the project, because it conflicts with the original discord.py. I will not be doing this. I have chosen to keep the same package name in the name of backwards-compatibility. There is a scary amount of closed-source selfbots that cannot be easily edited to change import discord to import packagename as discord. Python has a great feature called virtual environments that can help people wanting to use both libs.

I have yet to see a closed-source selfbot that isn't bundled as an exe? If they are bundled as an exe, they include the functions of the library that was released at the time of bundling. Maybe I'm missing something?

dolfies commented 3 years ago

A lot of people have asked me to rename the project, because it conflicts with the original discord.py. I will not be doing this. I have chosen to keep the same package name in the name of backwards-compatibility. There is a scary amount of closed-source selfbots that cannot be easily edited to change import discord to import packagename as discord. Python has a great feature called virtual environments that can help people wanting to use both libs.

I have yet to see a closed-source selfbot that isn't bundled as an exe? If they are bundled as an exe, they include the functions of the library that was released at the time of bundling. Maybe I'm missing something?

The problem is that standard discord.py barely functions for selfbots. And, in versions that have intents, even message.content is broken.

destroyace commented 3 years ago

Ah okay. Though wouldn't it be the selfbot programmer's fault for releasing code that is no longer supported. I definitely love the approach towards backwards compatibility, but I feel like the programmers should get caught on with the times and spend time to update their software.