Closed dolfies closed 3 years ago
Since it is no longer set Self_bot=True on startup, commands will never be executed due to:
I'm not sure what you mean. The behavior of the self_bot
kwarg hasn't changed.
I'm not sure what you mean. The behavior of the
self_bot
kwarg hasn't changed.
My stupidity, not to lose the habit ;( It's past my time to go to bed
My stupidity, not to lose the habit ;( It's past my time to go to bed
Been there, done that lol
Would it be possible to reimplement the Client#login
method so it accepts an email and password, like in d.py < 1.0?
Would it be possible to reimplement the
Client#login
method so it accepts an email and password, like in d.py < 1.0?
I'm working on an extension library (like discord.ext.commands
) to wrap the accounts APIs.
Would it be possible to reimplement the
Client#login
method so it accepts an email and password, like in d.py < 1.0?I'm working on an extension library (like
discord.ext.commands
) to wrap the accounts APIs.
Cool! Looking forward to progress. Will this be in v1.9
?
Would it be possible to reimplement the
Client#login
method so it accepts an email and password, like in d.py < 1.0?I'm working on an extension library (like
discord.ext.commands
) to wrap the accounts APIs.Cool! Looking forward to progress. Will this be in
v1.9
?
Probably not. I'm trying (but kinda failing) to keep the feature-creep back, but I want to release 1.9 ASAP since the current version has a lot of problems.
Maybe include a more robust header (http.py) that includes information like a referrer, etc.?
Maybe include a more robust header (http.py) that includes information like a referrer, etc.?
If you mean the super properties, they are what the web client sends.
If you mean the actual headers, the only thing not 100% accurate is the Referer header, but it applies 90% of the time so it doesn't really matter.
Okay, let me know if you want the referrer header. I have a sample scraped one from a real Discord request.
Okay, let me know if you want the referrer header. I have a sample scraped one from a real Discord request.
The referer header isn't static; it changes based on, well, what's referring you to a specific domain.
I have it hard-coded to /channels/@me
because that can refer you to pretty much anywhere. It isn't the best solution, but it won't really look suspicious to Discord either.
Okay, let me know if you want the referrer header. I have a sample scraped one from a real Discord request.
The referer header isn't static; it changes based on, well, what's referring you to a specific domain.
I have it hard-coded to
/channels/@me
because that can refer you to pretty much anywhere. It isn't the best solution, but it won't really look suspicious to Discord either.
Ah yeah, that was what I did as well. Is this a 1.9 feature, because I don't see it in http.py
?
Ah yeah, that was what I did as well. Is this a 1.9 feature, because I don't see it in
http.py
?
Check http.py in the development branch.
This is basically ready, and the "docs" are finally up. Unless major bugs are found, I will be pushing soon.
Can't launch my bot with the latest commit in the dev branch
File "E:\Projects\SelfBOT\.env\lib\site-packages\discord\state.py", line 451, in parse_ready_supplemental self.user = user = ClientUser(state=self, data=data['user']) File "E:\Projects\SelfBOT\.env\lib\site-packages\discord\user.py", line 565, in __init__ self.note = Note(state, self.id, user=self) AttributeError: 'ClientUser' object has no attribute 'note' Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x0000019EB20E3F70>
Crap. Forgot to add it to the slots. Commit incoming.
That's what happens when you forget to git push
.
Is there a scheduled update date for v1.9? Thanks.
It's basically done. This week I'm just going to do some bug-testing.
If everything goes well it should be out by the weekend.
I would appreciate people looking over the docs for mistakes and testing out the update.
Summary
Here's a (relatively) short, outdated, non-exhaustive list of the changes in this version:
LazyUser
s (I'm betting this will make a lot of people happy)guild_create
streamingis_bot
attributesClient.fetch_guilds()
Client.fetch_user()
guild.members
(WIP)on_*
events (unfortunatelyon_member_join
is unfixable for the time being, as Discord just doesn't provide that information reliably)manage_guilds
permission unfortunately :sob:)Client.join_guild()
&Invite.use()
)Note: This is not everything.
Documentation
Before this is released and pushed to PyPi, I'll update the website (which is kinda trash right now) with an exhaustive list of everything public that was added, removed, and changed.
I am not going to document internal changes (outside of updating docstrings) as that will take waaayyy too long.
Credits
Huge thanks to arandomnewaccount and Discord-S.C.U.M for helping me navigate the mess that is Discord's APIs.
Conclusion
This version of the project is almost finished. To keep the feature-creep back, I'm only going to do the following before release:
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
toimport packagename as discord
. Python has a great feature called virtual environments that can help people wanting to use both libs.I also want to address one final issue
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