This project was created with Python 3 and is PEP 8 compatible as of November 26th, 2019.
This repository was built by PyCharm Community Edition and maintained by Hayden977.
As of November 26th, 2019, the only external prerequisite is selenium and the accompanying browser drivers. See Installation for more detail.
pip install selenium
The browser drivers can be found on the PyPI page. From the webpage, popular browser drivers are:
Note: if the browser driver is not in the PATH
variable, the _PATH
variable will need to be set to the path of the driver.
As of November 26th, 2019, running main.py
will result in the following input field.
Username(s):
This field will accept a single username or a list of usernames separated by commas and spaces. Invalid usernames (see Exceptions below) should be caught before a query is executed.
From Mojang, usernames must obey by the following rules:
- Must be between 3-16 characters in length
- Characters from A-Z (upper and lowercase) are allowed
- Characters from 0-9 are allowed
- The only special character allowed is _ (underscore)
- Spaces are not allowed
- All other characters are not allowed
Examples of valid input, followed by examples of invalid inputs, are shown below.
VALID INPUTS
Username(s): Python123
Username(s): Python123, Python456
INVALID INPUTS
Username(s): Space Character
Username(s): TwentyCharacterNames
Username(s): 2c
Username(s): русский
The Username Finder is currently hindered by the limitations of selenium. Designed as an application tester, it needs to load all elements of a page first. This results in much slower query rates, and downtime for the program. This downtime could be taken advantage of by a library like beautifulsoup4, which can read the source of the page instead of rendering the full site. This will likely bring the query rate down from 20 seconds to 5 seconds, which will allow the following Features to be implemented.
- CSV support
- Find all available usernames of length
n
- Username 'sniping'
- Full Mojang API support
- Implement beautifulsoup4 or an alternative
- Improve general performance
- Implement ideas listed in Features
- Improve code readability
- Remove redundant exception handlers
- Ensure PEP 8 compatibility
Released under the GNU GPL v3 license.
This project is not affiliated with NameMC.
Maintained by Hayden977.
- GitHub Pages
- Img Shields
- Choose an Open Source License
- GNU General Public License
- NameMC
- Kalle Hallden's source code for the idea and framework
- StackOverflow for string-replace code snippet