A multipurpose discord bot with more than 220 commands

Overview

Welcome

code size lines of code open issues closed issues license forks stars last commit contributors


WM Bot

A advanced bot with more than 220 commands to fit your needs
Explore the commands »

View Demo · Report Bug · Request Feature

Table of Contents

  1. About The Project
  2. Getting Started
  3. Copying Code
  4. Usage
  5. Roadmap
  6. Contributing
  7. License
  8. Contact
  9. Acknowledgements

About The Project

I started learning python around March 2020. This project was started as a way to become better at python in July 7th 2020. And the code you'll see in this repository was written between then and now. some code may have really bad practices because of it. if you find any issues with the code, please report them to me in my discord: Wasi Master#6969 or open a pull request. if you find any bugs or have any ideas then open a issue in the repository

Built With

Getting Started

Almost every folder on this repository has a readme file that you can check for more information on what that specific folder is for

To get a local copy up and running follow these simple steps.

Prerequisites

This is an example of how to list things you need to use the software and how to install them.

Instructions

  1. Clone the repo

    git clone https://github.com/wasi-master/wm_bot.git
  2. Change directory to the cloned repo

    cd wm_bot/src
  3. Rename the folder config_example to config

    • Linux/MacOS:
    mv config_example config
    • Windows:
    ren config_example config
  4. Edit the config files to add your bot token and the database credentials. (For instructions see the readme.md file in each config directory)

  5. Run the required commands in your database

    psql username -h hostname -d database_name -f db_setup.sql

    And replace username with your username. hostname with your database hostname and database_name with your database name.

  6. Install Required packages

    pip install -r requirements.txt
  7. Run the bot

    • Windows:
    py main.py
    • Linux:
    python main.py
    • MacOS:
    python3 main.py

Copying Code

If you want to copy any code from this repo please keep these in mind

  • Read the license and what it allows and disallows

  • If you want to copy a whole command

    1. If you are in a cog keep @commands.command and if you are not in a command replace @commands.command with @bot.command or @client.command depending on what you named your bot
  • If you see any functions/classes that you don't understand/don't know where it is defined, in the desktop version of github you can click the function/class name and see where it is defined

Bad Practice, Code, or Code Style

If you find any code that you think is bad practice, code, or code style, please report it to me in my discord: Wasi Master#6969 or open a pull request or a issue. if you find any bugs or have any ideas then open a issue in the repository

Usage

For command examples, please refer to the Documentation

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project

  2. Add or Change some cool code

  3. Format the code with black and isort

  4. Commit your Changes

  5. Push your code

  6. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Wasi Master

Acknowledgements

You might also like...
A terminal tool for git. When we use git, do you feel very uncomfortable with too long commands
A terminal tool for git. When we use git, do you feel very uncomfortable with too long commands

PIGIT A terminal tool for git. When we use git, do you feel very uncomfortable with too long commands. For example: git status --short, this project c

⚙ A lightweight command line interface library for creating commands.
⚙ A lightweight command line interface library for creating commands.

⚙ A lightweight command line interface library for creating cli commands. About | Installation | Usage | Features | Contributors | License About Next:

tox-server is a command line tool which runs tox in a loop and calls it with commands from a remote CLI.

Tox Server tox-server is a command line tool which runs tox in a loop and calls it with commands from a remote CLI. It responds to commands via ZeroMQ

🐍The nx-python plugin allows users to create a basic python application using nx commands.
🐍The nx-python plugin allows users to create a basic python application using nx commands.

🐍 NxPy: Nx Python plugin This project was generated using Nx. The nx-python plugin allows users to create a basic python application using nx command

CryptoCo-py is a Python CLI application that uses CoinGecko API to allow the user to query cryptocurrency information by typing simple commands.

CryptoCo-py is a Python CLI application that uses CoinGecko API to allow the user to query cryptocurrency information by typing simple com

Interactive Python interpreter for executing commands within Node.js

Python Interactive Interactive Python interpreter for executing commands within Node.js. This module provides a means of using the Python interactive

Linux commands Interpreter for Windows and Mac based systems using Python
Linux commands Interpreter for Windows and Mac based systems using Python

DBHTermEcIbP Linux commands Interpreter for Windows and Mac based systems using Python Basic Linux commands supported viewing current working director

A CLI for advanced management of your notes with simple commands

PyNoteManager This is a CLI for advanced management of your notes with simple co

Comments
  • Bot does not run ConnectionRefusedError: [WinError 1225] The remote computer refused the network connection

    Bot does not run ConnectionRefusedError: [WinError 1225] The remote computer refused the network connection

    Describe the bug I'm getting this error

    C:\Users\Shanzaraf_Okba\Downloads\Compressed\wm_bot-main\src>python main.py
    Traceback (most recent call last):
      File "main.py", line 84, in <module>
        bot.loop.run_until_complete(create_db_pool(bot))
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\asyncio\base_events.py", line 616, in run_until_complete
        return future.result()
      File "C:\Users\Shanzaraf_Okba\Downloads\Compressed\wm_bot-main\src\utils\bot.py", line 375, in create_db_pool
        bot.db = await asyncpg.create_pool(
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\site-packages\asyncpg\pool.py", line 407, in _async__init__
        await self._initialize()
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\site-packages\asyncpg\pool.py", line 435, in _initialize
        await first_ch.connect()
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\site-packages\asyncpg\pool.py", line 127, in connect
        self._con = await self._pool._get_new_connection()
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\site-packages\asyncpg\pool.py", line 477, in _get_new_connection
        con = await connection.connect(
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\site-packages\asyncpg\connection.py", line 2045, in connect
        return await connect_utils._connect(
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\site-packages\asyncpg\connect_utils.py", line 790, in _connect
        raise last_error
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\site-packages\asyncpg\connect_utils.py", line 776, in _connect
        return await _connect_addr(
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\site-packages\asyncpg\connect_utils.py", line 671, in _connect_addr
        return await __connect_addr(params, timeout, False, *args)
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\site-packages\asyncpg\connect_utils.py", line 720, in __connect_addr
        tr, pr = await compat.wait_for(connector, timeout=timeout)
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\site-packages\asyncpg\compat.py", line 66, in wait_for
        return await asyncio.wait_for(fut, timeout)
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\asyncio\tasks.py", line 494, in wait_for
        return fut.result()
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\asyncio\base_events.py", line 1030, in create_connection
        raise exceptions[0]
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\asyncio\base_events.py", line 1010, in create_connection
        sock = await self._connect_sock(
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\asyncio\base_events.py", line 924, in _connect_sock
        await self.sock_connect(sock, address)
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\asyncio\proactor_events.py", line 702, in sock_connect
        return await self._proactor.connect(sock, address)
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\asyncio\windows_events.py", line 812, in _poll
        value = callback(transferred, key, ov)
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\asyncio\windows_events.py", line 599, in finish_connect
        ov.getresult()
    ConnectionRefusedError: [WinError 1225] The remote computer refused the network connection
    Exception ignored in: <function ClientSession.__del__ at 0x000001DEBCCFCEE0>
    Traceback (most recent call last):
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\site-packages\aiohttp\client.py", line 337, in __del__
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\asyncio\base_events.py", line 1740, in call_exception_handler
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\logging\__init__.py", line 1475, in error
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\logging\__init__.py", line 1589, in _log
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\logging\__init__.py", line 1599, in handle
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\logging\__init__.py", line 1661, in callHandlers
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\logging\__init__.py", line 954, in handle
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\site-packages\rich\logging.py", line 150, in emit
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\site-packages\rich\logging.py", line 196, in render
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\site-packages\rich\_log_render.py", line 43, in __call__
    ImportError: sys.meta_path is None, Python is likely shutting down
    Exception ignored in: <function ClientSession.__del__ at 0x000001DEBCCFCEE0>
    Traceback (most recent call last):
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\site-packages\aiohttp\client.py", line 337, in __del__
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\asyncio\base_events.py", line 1740, in call_exception_handler
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\logging\__init__.py", line 1475, in error
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\logging\__init__.py", line 1589, in _log
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\logging\__init__.py", line 1599, in handle
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\logging\__init__.py", line 1661, in callHandlers
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\logging\__init__.py", line 954, in handle
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\site-packages\rich\logging.py", line 150, in emit
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\site-packages\rich\logging.py", line 196, in render
      File "C:\Users\Shanzaraf_Okba\AppData\Local\Programs\Python\Python38\lib\site-packages\rich\_log_render.py", line 43, in __call__
    ImportError: sys.meta_path is None, Python is likely shutting down
    

    To Reproduce Steps to reproduce the behavior:

    1. Run the bot

    Expected behavior The bot should run

    Screenshots None

    Desktop (please complete the following information):

    • OS: Windows
    • Browser: chrome
    • Version: 10

    Additional context None

    help wanted invalid 
    opened by shanjaraf-okba 2
  • Restyle Create CODE_OF_CONDUCT.md

    Restyle Create CODE_OF_CONDUCT.md

    Automated style fixes for #2, created by Restyled.

    The following restylers made fixes:

    To incorporate these changes, merge this Pull Request into the original. We recommend using the Squash or Rebase strategies.

    NOTE: As work continues on the original Pull Request, this process will re-run and update (force-push) this Pull Request with updated style fixes as necessary. If the style is fixed manually at any point (i.e. this process finds no fixes to make), this Pull Request will be closed automatically.

    Sorry if this was unexpected. To disable it, see our documentation.

    opened by restyled-io[bot] 0
Owner
Wasi Master
A young coder
Wasi Master
A selfbot made with DPY, doesn't have much commands but there's some useful commands to use.

Phantom Selfbot A selfbot made in DPY, made by Zenith. How to use Add your token in token = 'YOUR-MOMS-TOKEN-HERE' Change the prefix in prefix = > If

[Ͼ⁴] Ƶephyr 2 Dec 2, 2021
AWS Interactive CLI - Allows you to execute a complex AWS commands by chaining one or more other AWS CLI dependency

AWS Interactive CLI - Allows you to execute a complex AWS commands by chaining one or more other AWS CLI dependency

Rafael Torres 2 Dec 10, 2021
Message commands extension for discord-py-interactions

interactions-message-commands Message commands extension for discord-py-interactions README IS NOT FINISHED YET BUT IT IS A GOOD START Installation pi

null 2 Aug 4, 2022
A Bot Which Send Automatically Commands To Karuta Hub to Gain it's Currency

A Bot Which Send Automatically Commands To Karuta Hub to Gain it's Currency

HarshalWaykole 1 Feb 9, 2022
Python commandline tool for remembering linux/terminal commands

ehh Remember linux commands Commandline tool for remembering linux/terminal commands. It stores your favorite commands in ~/ehh.json in your homedir a

null 56 Nov 10, 2022
Management commands to help backup and restore your project database and media files

Django Database Backup This Django application provides management commands to help backup and restore your project database and media files with vari

null 687 Jan 4, 2023
commandpack - A package of modules for working with commands, command packages, files with command packages.

commandpack Help the project financially: Donate: https://smartlegion.github.io/donate/ Yandex Money: https://yoomoney.ru/to/4100115206129186 PayPal:

null 4 Sep 4, 2021
Output Analyzer for you terminal commands

Output analyzer (OZER) You can specify a few words inside config.yaml file and specify the color you want to be used. installing: Install command usin

Ehsan Shirzadi 1 Oct 21, 2021
CLI/GUI Math commands based on python 3

PyMath Commands Syntax Installation Commands: pymath add: usage: pymath add 12.5 12.5 sub: usage: pymath sub 25 12.5 div: usage: pymath div 144 12 mul

eggsnham07 0 Nov 22, 2021