summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-11 07:38:56 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-11 07:38:56 +0000
commite8e983a8752a7dcf33525633ee5cd31614e4ed86 (patch)
tree2e962dee3e8ed33f28603191cf7f49df54e8c06c
parent56d72e38056283ebb43078d28a92443f44188009 (diff)
automatic import of python-discum
-rw-r--r--.gitignore1
-rw-r--r--python-discum.spec532
-rw-r--r--sources1
3 files changed, 534 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..2a2e3c5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/discum-1.4.1.tar.gz
diff --git a/python-discum.spec b/python-discum.spec
new file mode 100644
index 0000000..fa5fbc5
--- /dev/null
+++ b/python-discum.spec
@@ -0,0 +1,532 @@
+%global _empty_manifest_terminate_build 0
+Name: python-discum
+Version: 1.4.1
+Release: 1
+Summary: A Discord API Wrapper for Userbots/Selfbots written in Python.
+License: MIT
+URL: https://github.com/Merubokkusu/Discord-S.C.U.M
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/ee/d6/6952218b6e6d0e031e95750d961d9f82091b5d3cf61e9019775a905062f6/discum-1.4.1.tar.gz
+BuildArch: noarch
+
+Requires: python3-requests
+Requires: python3-requests-toolbelt
+Requires: python3-brotli
+Requires: python3-filetype
+Requires: python3-websocket-client
+Requires: python3-ua-parser
+Requires: python3-colorama
+Requires: python3-pycryptodome
+Requires: python3-pyqrcode
+Requires: python3-pypng
+
+%description
+
+# DisCum
+![version](https://img.shields.io/badge/github%20version-1.4.1-blue) [![python versions](https://img.shields.io/badge/python-2.7%20%7C%203.5%20%7C%203.6%20%7C%203.7%20%7C%203.8%20%7C%203.9-blue)](https://github.com/Merubokkusu/Discord-S.C.U.M)
+[![PyPI version](https://badge.fury.io/py/discum.svg)](https://badge.fury.io/py/discum) [![python versions](https://img.shields.io/badge/python-2.7%20%7C%203.5%20%7C%203.6%20%7C%203.7%20%7C%203.8%20%7C%203.9-green)](https://pypi.org/project/discum)
+A simple, easy to use, non-restrictive, synchronous Discord API Wrapper for Selfbots/Userbots written in Python.
+-using requests and websockets :)
+
+![https://files.catbox.moe/3ns003.png](https://files.catbox.moe/3ns003.png)
+
+### Currently don't have time to maintain this project.
+I might edit from time to time. Feel free to fork the repo and make your own edits.
+For another python library that's currently better maintained, I'd recommend the following (asynchronous) lib: https://github.com/dolfies/discord.py-self
+Happy coding,
+\- arandomnewaccount
+##### *** risky actions: [issue #66](https://github.com/Merubokkusu/Discord-S.C.U.M/issues/66#issue-876713938)
+
+## Table of Contents
+- [Key Features](#Key-features)
+- [About](#About)
+- [Installation](#Installation)
+ - [Prerequisites](#prerequisites-installed-automatically-using-above-methods)
+- [Documentation](#Documentation)
+- [Contributing](#Contributing)
+- [Example Usage](#Example-usage)
+- [Links](#Links)
+- [Checklist](#Checklist)
+- [Contributing](#Contributing)
+- [FAQ](#FAQ)
+- [Notes](#Notes)
+
+## Key features
+- easy-to-use (make selfbots/userbots)
+- easy-to-extend/edit (add api wrappers)
+- readable (organized 😃 )
+- mimics the client while giving you control
+- all api wraps point to user/"private" apis
+- on-event (gateway) capabilities
+- [extremely customizable fetchMembers function](docs/using/fetchingGuildMembers.md)
+- remote authentication functions
+- support for python 2.7
+
+## About
+ Discum is a Discord self/userbot api wrapper (in case you didn't know, self/userbotting = automating a user account). Whenever you login to discord, your client communicates with Discord's servers using Discord's http api (http(s) requests) and gateway server (websockets). Discum allows you have this communication with Discord using python.
+
+ The main difference between Discum and other Discord api wrapper libraries (like discord.py) is that discum is written and maintained to work on user accounts (so, perfect for selfbots/userbots). We test code on here and develop discum to be readable, expandable, and useable. Functions that are risky to use are clearly stated as such in the docs.
+
+ Note, using a selfbot is against Discord's Terms of Service and you could get banned for using one if you're not careful. Also, this needs to be said: discum does not have rate limit handling. The main reasons for this are that discum is made to (1) be (relatively) simple and (2) give the developer/user freedom with how to handle the rate limits. We (Merubokkusu and anewrandomaccount) do not take any responsibility for any consequences you might face while using discum. We also do not take any responsibility for any damage caused (to servers/channels) through the use of Discum. Discum is a tool; how you use this tool is on you.
+
+## Installation
+To install the library normally, run:
+```
+python -m pip install --user --upgrade git+https://github.com/Merubokkusu/Discord-S.C.U.M.git#egg=discum
+```
+Otherwise, to also use remote authentication functions (login using a phone & qr code), run:
+```
+python -m pip install --user --upgrade -e git+https://github.com/Merubokkusu/Discord-S.C.U.M.git#egg=discum[ra]
+```
+
+#### Prerequisites (installed automatically using above methods)
+- requests
+- requests_toolbelt
+- brotli
+- websocket_client==0.59.0
+- filetype
+- ua-parser
+- colorama
+
+remote auth prerequisites (if you install discum[ra]):
+- pyqrcode
+- pycryptodome
+- pypng
+
+## Documentation
+[https://github.com/Merubokkusu/Discord-S.C.U.M/tree/master/docs](docs)
+
+## Contributing
+Contributions are welcome. You can submit issues, make pull requests, or suggest features. Ofc not all suggestions will be implemented (because discum is intended to be a transparent, relatively-raw discord user api wrapper), but all suggestions will be looked into.
+Please see the [contribution guidelines](https://github.com/Merubokkusu/Discord-S.C.U.M/blob/master/contributing.md)
+
+# Example usage
+```python
+import discum
+bot = discum.Client(token='420tokentokentokentoken.token.tokentokentokentokentoken', log=False)
+
+bot.sendMessage("238323948859439", "Hello :)")
+
+@bot.gateway.command
+def helloworld(resp):
+ if resp.event.ready_supplemental: #ready_supplemental is sent after ready
+ user = bot.gateway.session.user
+ print("Logged in as {}#{}".format(user['username'], user['discriminator']))
+ if resp.event.message:
+ m = resp.parsed.auto()
+ guildID = m['guild_id'] if 'guild_id' in m else None #because DMs are technically channels too
+ channelID = m['channel_id']
+ username = m['author']['username']
+ discriminator = m['author']['discriminator']
+ content = m['content']
+ print("> guild {} channel {} | {}#{}: {}".format(guildID, channelID, username, discriminator, content))
+
+bot.gateway.run(auto_reconnect=True)
+```
+
+# Links
+[Documentation](docs)
+[More examples](examples)
+[Changelog](changelog.md)
+[GitHub](https://github.com/Merubokkusu/Discord-S.C.U.M)
+[PyPi](https://pypi.org/project/discum/)
+
+# Checklist
+- [x] Sending basic text messages
+- [X] Sending Images
+- [x] Sending Embeds
+- [X] Sending Requests (Friends etc)
+- [X] Profile Editing (Name,Status,Avatar)
+- [X] On-Message (and other on-anything gateway) capabilities
+- [X] Getting guild members
+- [X] improve documentation
+- [X] add interactions (slash command triggering, buttons, and dropdowns/menus)
+- [ ] add more guild http api wraps
+- [ ] media (voice & video calls, along with the various discord games/activites)
+- [ ] Everything
+
+## FAQ
+Q: Why am I getting Attribute Errors?
+A: Most likely you've installed discum through pip, which is not always updated. To get the most recent version, install through github. For gateway.session related errors, you need to connect to the gateway at least once to receive session data.
+
+Q: Does discum support BOT accounts?
+A: No. Discum only supports user accounts.
+
+Q: What's the difference between user/private API and BOT API?
+A: User APIs are run by the official client. Many of these are not documented by discord. On the other hand, BOT APIs are run by BOT accounts and are documented by discord. Discum only consists of user APIs.
+
+Q: How to fix "\[SSL: CERTIFICATE_VERIFY_FAILED]" errors?
+A: https://stackoverflow.com/a/53310545/14776493
+
+Q: I'm getting ```KeyError: 'members'``` when running ```bot.gateway.session.guild(guild_ID).members```. Why?
+A: KeyErrors happened on previous versions where the "members" key was not set until you ran ```bot.gateway.fetchMembers(...); bot.gateway.run()```. Due to this causing some confusion, the latest versions do not display this KeyError (instead, the value of "members" is an empty dictionary to start with). Of course, you still have to fetch the members (a gateway operation) in order to get the members.
+
+Q: ```import _brotli ImportError: DLL load failed: The specified module could not be found.``` How to fix?
+A: https://github.com/google/brotli/issues/782
+
+Q: ```The owner of this website (discord.com) has banned your access based on your browser's signature...```. How to fix?
+A: This is because of your user agent (https://stackoverflow.com/a/24914742/14776493). Either try again or reinitialize your client with a new user agent.
+
+## Notes
+In recent years, token logging has become more common (as many people don't check code before they run it). I've seen many closed-source selfbots, and while surely some are well intentioned, others not so much. Discum (discord api wrapper) is open-sourced and organized to provide transparency, but even so, we encourage you to look at the code. Not only will looking at the code help you to better understand how discord's api is structured, but it'll also let you know exactly what you're running. If you have questions about Discum (after looking at the docs & previous issues), free to ask us.
+
+
+
+
+%package -n python3-discum
+Summary: A Discord API Wrapper for Userbots/Selfbots written in Python.
+Provides: python-discum
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-discum
+
+# DisCum
+![version](https://img.shields.io/badge/github%20version-1.4.1-blue) [![python versions](https://img.shields.io/badge/python-2.7%20%7C%203.5%20%7C%203.6%20%7C%203.7%20%7C%203.8%20%7C%203.9-blue)](https://github.com/Merubokkusu/Discord-S.C.U.M)
+[![PyPI version](https://badge.fury.io/py/discum.svg)](https://badge.fury.io/py/discum) [![python versions](https://img.shields.io/badge/python-2.7%20%7C%203.5%20%7C%203.6%20%7C%203.7%20%7C%203.8%20%7C%203.9-green)](https://pypi.org/project/discum)
+A simple, easy to use, non-restrictive, synchronous Discord API Wrapper for Selfbots/Userbots written in Python.
+-using requests and websockets :)
+
+![https://files.catbox.moe/3ns003.png](https://files.catbox.moe/3ns003.png)
+
+### Currently don't have time to maintain this project.
+I might edit from time to time. Feel free to fork the repo and make your own edits.
+For another python library that's currently better maintained, I'd recommend the following (asynchronous) lib: https://github.com/dolfies/discord.py-self
+Happy coding,
+\- arandomnewaccount
+##### *** risky actions: [issue #66](https://github.com/Merubokkusu/Discord-S.C.U.M/issues/66#issue-876713938)
+
+## Table of Contents
+- [Key Features](#Key-features)
+- [About](#About)
+- [Installation](#Installation)
+ - [Prerequisites](#prerequisites-installed-automatically-using-above-methods)
+- [Documentation](#Documentation)
+- [Contributing](#Contributing)
+- [Example Usage](#Example-usage)
+- [Links](#Links)
+- [Checklist](#Checklist)
+- [Contributing](#Contributing)
+- [FAQ](#FAQ)
+- [Notes](#Notes)
+
+## Key features
+- easy-to-use (make selfbots/userbots)
+- easy-to-extend/edit (add api wrappers)
+- readable (organized 😃 )
+- mimics the client while giving you control
+- all api wraps point to user/"private" apis
+- on-event (gateway) capabilities
+- [extremely customizable fetchMembers function](docs/using/fetchingGuildMembers.md)
+- remote authentication functions
+- support for python 2.7
+
+## About
+ Discum is a Discord self/userbot api wrapper (in case you didn't know, self/userbotting = automating a user account). Whenever you login to discord, your client communicates with Discord's servers using Discord's http api (http(s) requests) and gateway server (websockets). Discum allows you have this communication with Discord using python.
+
+ The main difference between Discum and other Discord api wrapper libraries (like discord.py) is that discum is written and maintained to work on user accounts (so, perfect for selfbots/userbots). We test code on here and develop discum to be readable, expandable, and useable. Functions that are risky to use are clearly stated as such in the docs.
+
+ Note, using a selfbot is against Discord's Terms of Service and you could get banned for using one if you're not careful. Also, this needs to be said: discum does not have rate limit handling. The main reasons for this are that discum is made to (1) be (relatively) simple and (2) give the developer/user freedom with how to handle the rate limits. We (Merubokkusu and anewrandomaccount) do not take any responsibility for any consequences you might face while using discum. We also do not take any responsibility for any damage caused (to servers/channels) through the use of Discum. Discum is a tool; how you use this tool is on you.
+
+## Installation
+To install the library normally, run:
+```
+python -m pip install --user --upgrade git+https://github.com/Merubokkusu/Discord-S.C.U.M.git#egg=discum
+```
+Otherwise, to also use remote authentication functions (login using a phone & qr code), run:
+```
+python -m pip install --user --upgrade -e git+https://github.com/Merubokkusu/Discord-S.C.U.M.git#egg=discum[ra]
+```
+
+#### Prerequisites (installed automatically using above methods)
+- requests
+- requests_toolbelt
+- brotli
+- websocket_client==0.59.0
+- filetype
+- ua-parser
+- colorama
+
+remote auth prerequisites (if you install discum[ra]):
+- pyqrcode
+- pycryptodome
+- pypng
+
+## Documentation
+[https://github.com/Merubokkusu/Discord-S.C.U.M/tree/master/docs](docs)
+
+## Contributing
+Contributions are welcome. You can submit issues, make pull requests, or suggest features. Ofc not all suggestions will be implemented (because discum is intended to be a transparent, relatively-raw discord user api wrapper), but all suggestions will be looked into.
+Please see the [contribution guidelines](https://github.com/Merubokkusu/Discord-S.C.U.M/blob/master/contributing.md)
+
+# Example usage
+```python
+import discum
+bot = discum.Client(token='420tokentokentokentoken.token.tokentokentokentokentoken', log=False)
+
+bot.sendMessage("238323948859439", "Hello :)")
+
+@bot.gateway.command
+def helloworld(resp):
+ if resp.event.ready_supplemental: #ready_supplemental is sent after ready
+ user = bot.gateway.session.user
+ print("Logged in as {}#{}".format(user['username'], user['discriminator']))
+ if resp.event.message:
+ m = resp.parsed.auto()
+ guildID = m['guild_id'] if 'guild_id' in m else None #because DMs are technically channels too
+ channelID = m['channel_id']
+ username = m['author']['username']
+ discriminator = m['author']['discriminator']
+ content = m['content']
+ print("> guild {} channel {} | {}#{}: {}".format(guildID, channelID, username, discriminator, content))
+
+bot.gateway.run(auto_reconnect=True)
+```
+
+# Links
+[Documentation](docs)
+[More examples](examples)
+[Changelog](changelog.md)
+[GitHub](https://github.com/Merubokkusu/Discord-S.C.U.M)
+[PyPi](https://pypi.org/project/discum/)
+
+# Checklist
+- [x] Sending basic text messages
+- [X] Sending Images
+- [x] Sending Embeds
+- [X] Sending Requests (Friends etc)
+- [X] Profile Editing (Name,Status,Avatar)
+- [X] On-Message (and other on-anything gateway) capabilities
+- [X] Getting guild members
+- [X] improve documentation
+- [X] add interactions (slash command triggering, buttons, and dropdowns/menus)
+- [ ] add more guild http api wraps
+- [ ] media (voice & video calls, along with the various discord games/activites)
+- [ ] Everything
+
+## FAQ
+Q: Why am I getting Attribute Errors?
+A: Most likely you've installed discum through pip, which is not always updated. To get the most recent version, install through github. For gateway.session related errors, you need to connect to the gateway at least once to receive session data.
+
+Q: Does discum support BOT accounts?
+A: No. Discum only supports user accounts.
+
+Q: What's the difference between user/private API and BOT API?
+A: User APIs are run by the official client. Many of these are not documented by discord. On the other hand, BOT APIs are run by BOT accounts and are documented by discord. Discum only consists of user APIs.
+
+Q: How to fix "\[SSL: CERTIFICATE_VERIFY_FAILED]" errors?
+A: https://stackoverflow.com/a/53310545/14776493
+
+Q: I'm getting ```KeyError: 'members'``` when running ```bot.gateway.session.guild(guild_ID).members```. Why?
+A: KeyErrors happened on previous versions where the "members" key was not set until you ran ```bot.gateway.fetchMembers(...); bot.gateway.run()```. Due to this causing some confusion, the latest versions do not display this KeyError (instead, the value of "members" is an empty dictionary to start with). Of course, you still have to fetch the members (a gateway operation) in order to get the members.
+
+Q: ```import _brotli ImportError: DLL load failed: The specified module could not be found.``` How to fix?
+A: https://github.com/google/brotli/issues/782
+
+Q: ```The owner of this website (discord.com) has banned your access based on your browser's signature...```. How to fix?
+A: This is because of your user agent (https://stackoverflow.com/a/24914742/14776493). Either try again or reinitialize your client with a new user agent.
+
+## Notes
+In recent years, token logging has become more common (as many people don't check code before they run it). I've seen many closed-source selfbots, and while surely some are well intentioned, others not so much. Discum (discord api wrapper) is open-sourced and organized to provide transparency, but even so, we encourage you to look at the code. Not only will looking at the code help you to better understand how discord's api is structured, but it'll also let you know exactly what you're running. If you have questions about Discum (after looking at the docs & previous issues), free to ask us.
+
+
+
+
+%package help
+Summary: Development documents and examples for discum
+Provides: python3-discum-doc
+%description help
+
+# DisCum
+![version](https://img.shields.io/badge/github%20version-1.4.1-blue) [![python versions](https://img.shields.io/badge/python-2.7%20%7C%203.5%20%7C%203.6%20%7C%203.7%20%7C%203.8%20%7C%203.9-blue)](https://github.com/Merubokkusu/Discord-S.C.U.M)
+[![PyPI version](https://badge.fury.io/py/discum.svg)](https://badge.fury.io/py/discum) [![python versions](https://img.shields.io/badge/python-2.7%20%7C%203.5%20%7C%203.6%20%7C%203.7%20%7C%203.8%20%7C%203.9-green)](https://pypi.org/project/discum)
+A simple, easy to use, non-restrictive, synchronous Discord API Wrapper for Selfbots/Userbots written in Python.
+-using requests and websockets :)
+
+![https://files.catbox.moe/3ns003.png](https://files.catbox.moe/3ns003.png)
+
+### Currently don't have time to maintain this project.
+I might edit from time to time. Feel free to fork the repo and make your own edits.
+For another python library that's currently better maintained, I'd recommend the following (asynchronous) lib: https://github.com/dolfies/discord.py-self
+Happy coding,
+\- arandomnewaccount
+##### *** risky actions: [issue #66](https://github.com/Merubokkusu/Discord-S.C.U.M/issues/66#issue-876713938)
+
+## Table of Contents
+- [Key Features](#Key-features)
+- [About](#About)
+- [Installation](#Installation)
+ - [Prerequisites](#prerequisites-installed-automatically-using-above-methods)
+- [Documentation](#Documentation)
+- [Contributing](#Contributing)
+- [Example Usage](#Example-usage)
+- [Links](#Links)
+- [Checklist](#Checklist)
+- [Contributing](#Contributing)
+- [FAQ](#FAQ)
+- [Notes](#Notes)
+
+## Key features
+- easy-to-use (make selfbots/userbots)
+- easy-to-extend/edit (add api wrappers)
+- readable (organized 😃 )
+- mimics the client while giving you control
+- all api wraps point to user/"private" apis
+- on-event (gateway) capabilities
+- [extremely customizable fetchMembers function](docs/using/fetchingGuildMembers.md)
+- remote authentication functions
+- support for python 2.7
+
+## About
+ Discum is a Discord self/userbot api wrapper (in case you didn't know, self/userbotting = automating a user account). Whenever you login to discord, your client communicates with Discord's servers using Discord's http api (http(s) requests) and gateway server (websockets). Discum allows you have this communication with Discord using python.
+
+ The main difference between Discum and other Discord api wrapper libraries (like discord.py) is that discum is written and maintained to work on user accounts (so, perfect for selfbots/userbots). We test code on here and develop discum to be readable, expandable, and useable. Functions that are risky to use are clearly stated as such in the docs.
+
+ Note, using a selfbot is against Discord's Terms of Service and you could get banned for using one if you're not careful. Also, this needs to be said: discum does not have rate limit handling. The main reasons for this are that discum is made to (1) be (relatively) simple and (2) give the developer/user freedom with how to handle the rate limits. We (Merubokkusu and anewrandomaccount) do not take any responsibility for any consequences you might face while using discum. We also do not take any responsibility for any damage caused (to servers/channels) through the use of Discum. Discum is a tool; how you use this tool is on you.
+
+## Installation
+To install the library normally, run:
+```
+python -m pip install --user --upgrade git+https://github.com/Merubokkusu/Discord-S.C.U.M.git#egg=discum
+```
+Otherwise, to also use remote authentication functions (login using a phone & qr code), run:
+```
+python -m pip install --user --upgrade -e git+https://github.com/Merubokkusu/Discord-S.C.U.M.git#egg=discum[ra]
+```
+
+#### Prerequisites (installed automatically using above methods)
+- requests
+- requests_toolbelt
+- brotli
+- websocket_client==0.59.0
+- filetype
+- ua-parser
+- colorama
+
+remote auth prerequisites (if you install discum[ra]):
+- pyqrcode
+- pycryptodome
+- pypng
+
+## Documentation
+[https://github.com/Merubokkusu/Discord-S.C.U.M/tree/master/docs](docs)
+
+## Contributing
+Contributions are welcome. You can submit issues, make pull requests, or suggest features. Ofc not all suggestions will be implemented (because discum is intended to be a transparent, relatively-raw discord user api wrapper), but all suggestions will be looked into.
+Please see the [contribution guidelines](https://github.com/Merubokkusu/Discord-S.C.U.M/blob/master/contributing.md)
+
+# Example usage
+```python
+import discum
+bot = discum.Client(token='420tokentokentokentoken.token.tokentokentokentokentoken', log=False)
+
+bot.sendMessage("238323948859439", "Hello :)")
+
+@bot.gateway.command
+def helloworld(resp):
+ if resp.event.ready_supplemental: #ready_supplemental is sent after ready
+ user = bot.gateway.session.user
+ print("Logged in as {}#{}".format(user['username'], user['discriminator']))
+ if resp.event.message:
+ m = resp.parsed.auto()
+ guildID = m['guild_id'] if 'guild_id' in m else None #because DMs are technically channels too
+ channelID = m['channel_id']
+ username = m['author']['username']
+ discriminator = m['author']['discriminator']
+ content = m['content']
+ print("> guild {} channel {} | {}#{}: {}".format(guildID, channelID, username, discriminator, content))
+
+bot.gateway.run(auto_reconnect=True)
+```
+
+# Links
+[Documentation](docs)
+[More examples](examples)
+[Changelog](changelog.md)
+[GitHub](https://github.com/Merubokkusu/Discord-S.C.U.M)
+[PyPi](https://pypi.org/project/discum/)
+
+# Checklist
+- [x] Sending basic text messages
+- [X] Sending Images
+- [x] Sending Embeds
+- [X] Sending Requests (Friends etc)
+- [X] Profile Editing (Name,Status,Avatar)
+- [X] On-Message (and other on-anything gateway) capabilities
+- [X] Getting guild members
+- [X] improve documentation
+- [X] add interactions (slash command triggering, buttons, and dropdowns/menus)
+- [ ] add more guild http api wraps
+- [ ] media (voice & video calls, along with the various discord games/activites)
+- [ ] Everything
+
+## FAQ
+Q: Why am I getting Attribute Errors?
+A: Most likely you've installed discum through pip, which is not always updated. To get the most recent version, install through github. For gateway.session related errors, you need to connect to the gateway at least once to receive session data.
+
+Q: Does discum support BOT accounts?
+A: No. Discum only supports user accounts.
+
+Q: What's the difference between user/private API and BOT API?
+A: User APIs are run by the official client. Many of these are not documented by discord. On the other hand, BOT APIs are run by BOT accounts and are documented by discord. Discum only consists of user APIs.
+
+Q: How to fix "\[SSL: CERTIFICATE_VERIFY_FAILED]" errors?
+A: https://stackoverflow.com/a/53310545/14776493
+
+Q: I'm getting ```KeyError: 'members'``` when running ```bot.gateway.session.guild(guild_ID).members```. Why?
+A: KeyErrors happened on previous versions where the "members" key was not set until you ran ```bot.gateway.fetchMembers(...); bot.gateway.run()```. Due to this causing some confusion, the latest versions do not display this KeyError (instead, the value of "members" is an empty dictionary to start with). Of course, you still have to fetch the members (a gateway operation) in order to get the members.
+
+Q: ```import _brotli ImportError: DLL load failed: The specified module could not be found.``` How to fix?
+A: https://github.com/google/brotli/issues/782
+
+Q: ```The owner of this website (discord.com) has banned your access based on your browser's signature...```. How to fix?
+A: This is because of your user agent (https://stackoverflow.com/a/24914742/14776493). Either try again or reinitialize your client with a new user agent.
+
+## Notes
+In recent years, token logging has become more common (as many people don't check code before they run it). I've seen many closed-source selfbots, and while surely some are well intentioned, others not so much. Discum (discord api wrapper) is open-sourced and organized to provide transparency, but even so, we encourage you to look at the code. Not only will looking at the code help you to better understand how discord's api is structured, but it'll also let you know exactly what you're running. If you have questions about Discum (after looking at the docs & previous issues), free to ask us.
+
+
+
+
+%prep
+%autosetup -n discum-1.4.1
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-discum -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 1.4.1-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..9b79d5c
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+ab4a38510463ff31d1a62374560ac637 discum-1.4.1.tar.gz