Grank is a feature-rich script that automatically grinds Dank Memer for you

Overview

Grank

Dank Memer Logo
Inspired by this repository. This is a WIP and there will be more functions added in the future.

What is Grank?

Cover image

Grank is a feature-rich script that automatically grinds Dank Memer for you.

Supported commands (more to be added in the future).

  • pls beg
  • pls dig
  • pls fish
  • pls hunt

Getting Started.

Setting up the environment.

  • Install Python (Grank has been tested on Python version 3.10.0 64-Bit). Make sure to have the Install Pip option ticked.
  • Download this repository by clicking this link.
  • Extract the files, and open a command prompt window in /src/.
  • Run pip install -r requirements.txt

Getting your Discord token and channel ID.

To use Grank, you will have to provide your Discord token and a channel ID. Don't worry - these details are never shared with anyone.

How do you get this information?

You are now ready to use the program. Run src/main.py to start the program. You do not have to be have Discord open to run the program, so you can have the program running in the background while you do other things!

Config file

The config.yml file is used to change the way the program runs.

commands category.

Values in the commands category tell the program whether or not to run certain commands.

Name Type Default Value
beg Boolean True
dig Boolean True
fish Boolean True
hunt Boolean True

cooldowns category.

Values in the cooldowns category tell the program the cooldowns between commands and the loop cooldown.

Name Type Default Value
commands Integer 1
loop Integer 41

Disclaimer

This is a self-bot. Self-bots are against Discord's TOS. Automation of Dank Memer commands also breaks Dank Memer's rules. By using this program you acknowledge that I can take no responsibility for actions taken against you if you are caught.

You might also like...
Script to decrypt / import chromium (edge/chrome) cookies

Cloonie Script to decrypt / import chromium (edge/chrome) cookies. Requirements Install the python dependencies via pip: pip install -r requirements.t

cpp20.py is a Python script to compile C++20 code using modules.

cpp20.py is a Python script to compile C++20 code using modules. It browses the source files to determine their dependencies. Then, it compiles then in order using the correct flags.

Simple script to export contacts from telegram into vCard file

Telegram Contacts Exporter Simple script to export contacts from telegram into vCard file Getting Started Prerequisites You must to put your Telegram

A script to parse and display buy_tag and sell_reason for freqtrade backtesting trades

freqtrade-buyreasons A script to parse and display buy_tag and sell_reason for freqtrade backtesting trades Usage Copy the buy_reasons.py script into

Small Python script to parse endlessh's output and print some neat statistics

endlessh_parser endlessh_parser is a small Python script that parses endlessh's output and prints some neat statistics about it Usage Install all the

Helper script to bootstrap a Python environment with the tools required to build and install packages.

python-bootstrap Helper script to bootstrap a Python environment with the tools required to build and install packages. Usage $ python -m bootstrap.bu

aws ec2.py companion script to generate sshconfigs with auto bastion host discovery

ec2-bastion-sshconfig This script will interate over instances found by ec2.py and if those instances are not publically accessible it will search the

python script to generate color coded resistor images

Resistor image generator I got nerdsniped into making this. It's not finished at all, and the code is messy. The end goal it generate a whole E-series

A python script to generate wallpaper
A python script to generate wallpaper

wallpaper eits Warning You need to set the path to Robot Mono font in the source code. (Settings are in the main function) Usage A script that given a

Releases(v3.0.1)
  • v3.0.1(Jun 1, 2022)

    Release v3.0.1!

    Installation instructions can be found here.

    Changes since last version

    • ⬆️ Overhaul website (add developer docs as well as user docs).
    • ⬆️ Add comments to nearly every file.
    • 🐞 Fix auto trade not working.
    • 🐞 Fix pls work bugs.
    • 🐞 Fix pls stream bugs.
    Source code(tar.gz)
    Source code(zip)
  • v3.5-beta(May 21, 2022)

    Release v3.5-beta!

    ⚠️ If you used a previous version, please reset your database before using v3.5-beta.

    Changes since last version

    • 🐞 Fix auto accept trade not working.
    • 🐞 Fix cooldowns.
    • 🐞 Fix database handler bugs.
    • 🐞 Fix custom yaml parser bugs.
    • 🐞 More stuff which I can't remember lol.

    Windows download

    One File

    Pros

    • Smaller zip size than the One Directory method.
    • Easy to find files in directory.

    Cons

    • Takes longer than the One Direcotry method to boot up (has to extract all the files into a temporary directory).

    One Directory

    Pros

    • Faster at booting up than the One File method.

    Cons

    • Larger zip size
    • Hard to find files in directory.

    For developers

    Build

    Here is Grank's source code converted into C by Nuitka.

    Source code(tar.gz)
    Source code(zip)
    build.zip(134.78 MB)
    grank.-onedir.zip(13.37 MB)
    grank.zip(10.38 MB)
  • v3.4-beta(May 16, 2022)

    Release v3.4-beta!

    ⚠️ If you used a previous version, please reset your database before using v3.4-beta.

    Changes since last version

    • ⬆️ Add more support for pls adv.
    • ⬆️ Add more supported special events.
    • ⬆️ Remove resource usage when running grank info.
    • ⬆️ Fix cooldowns.
    • 🐞 Fix auto trade not working.

    Windows download

    One File

    Pros

    • Smaller zip size than the One Directory method.
    • Easy to find files in directory.

    Cons

    • Takes longer than the One Direcotry method to boot up (has to extract all the files into a temporary directory).

    One Directory

    Pros

    • Faster at booting up than the One File method.

    Cons

    • Larger zip size
    • Hard to find files in directory.

    For developers

    Build

    Here is Grank's source code converted into C by Nuitka.

    Source code(tar.gz)
    Source code(zip)
    build.zip(66.82 MB)
    grank.-onedir.zip(13.35 MB)
    grank.zip(10.36 MB)
  • v3.3-beta(May 14, 2022)

    Release v3.3-beta!

    ⚠️ If you used a previous version, please reset your database before using v3.3-beta.

    Changes since last version

    • ⬆️ Add more support for pls work & pls adv.
    • ⬆️ Make shifts wayyyyyyyyyyyyy better.
    • ⬆️ Show resource usage when running grank info.
    • ⬆️ Add legit all Dank Memer's trivia questions to the database.
    • ⬆️ Move cooldowns to the config file.
    • 🐞 Actually fix Grank disconnecting from the Discord websocket.
    • 🐞 Make custom yaml parser respect key and value types (int, str etc).

    Windows download

    One File

    Pros

    • Smaller zip size than the One Directory method.
    • Easy to find files in directory.

    Cons

    • Takes longer than the One Direcotry method to boot up (has to extract all the files into a temporary directory).

    One Directory

    Pros

    • Faster at booting up than the One File method.

    Cons

    • Larger zip size
    • Hard to find files in directory.

    For developers

    Build

    Here is Grank's source code converted into C by Nuitka.

    Source code(tar.gz)
    Source code(zip)
    build.zip(77.47 MB)
    grank.-onedir.zip(17.96 MB)
    grank.zip(11.21 MB)
  • v3.2-beta(May 10, 2022)

    Changes since last version

    • ⬆️ Add pls work support (currently limited).
    • ⬆️ Add auto accept trade.
    • ⬆️ Add auto start feature.
    • ⬆️ Add anti heist.
    • ⬆️ Add auto heist joiner.
    • ⬆️ Add blacklisted servers feature.
    • ⬆️ Add title page back.
    • 🐞 Try and fix Grank disconnecting from the Discord websocket.
    • 🐞 Fix custom command bugs (they run more than one now lol).
    • 🐞 Fix pls stream bugs.
    • 🐞 Fix many bugs (shifts not working, mult-instancing failing & more).

    Windows download

    Here

    Source code(tar.gz)
    Source code(zip)
    grank.zip(9.49 MB)
  • v3.1-beta(May 7, 2022)

  • v3-beta(May 3, 2022)

  • v2.3(Apr 24, 2022)

  • v2.2(Apr 23, 2022)

    Changes since last version

    • 🐞 Improve pls stream logic #37.
    • 🐞 Make Grank use the Discord websocket #38.
    • ⬆️ Format code with Black.
    • ⬆️ Add function to output the coins and items received from a command.
    • ⬆️ Cleanup the Instance code.

    Windows download

    Here

    Source code(tar.gz)
    Source code(zip)
    grank.zip(7.10 MB)
  • v2.1(Apr 19, 2022)

    Changes since last version

    • 🐞 Logging system bug fixes.
    • 🐞 Shifts system bug fixes.

    Windows download

    Here

    README.md

    Show

    Grank

    Join our Discord

    Stargazers Forks Issues Pull Requests

    Contents

    What is Grank?

    Grank is a feature-rich script that automatically grinds Dank Memer for you. It is inspired by dankgrinder. Since dankgrinder has been discontinued and the recommended fork has also been discontinued, I decided to make my own version from scratch in Python.

    Features

    • Supports multi-instancing.

    • Efficiently coded.

    • Smart - if the user doesn't have a required item to run a command like pls dig, it will buy the required item so long as there are sufficient funds in the user's wallet & bank.

    • Autotrade - the self-bot automates the acception of the trade on both the side of the trader and the trade receiver.

    • Typing indicator.

    • Detects special events like Dodge the fireball.

    • Custom commands.

    • Autovote.

    Supported commands

    • pls beg
    • pls blackjack
    • pls crime
    • pls daily
    • pls dig
    • pls fish
    • pls guess
    • pls highlow
    • pls hunt
    • pls lottery
    • pls postmeme
    • pls search
    • pls snakeeyes
    • pls stream
    • pls trivia

    Todo

    Visit this link for project updates.

    Getting Started

    Setting up the environment

    Windows

    Skip this and download the latest version of Grank from here

    macOS and Linux

    Unfortunately, I do not have access to a Mac or Linux device, so you will have to run the program from the source code.

    • Download and extract the latest version of Grank from here.
    • Navigate into the /src/ folder of Grank.
    • Download and extract the files of the latest version of pypy for your platform into the folder. Make sure the files are in the /src/ folder and not in a sub-folder, otherwise this will not work.
    • Download and save this file in that directory.
    • Open a command prompt in that directory.
    • Run the command pypy get-pip.py. If you changed the name of the file when you downloaded it, please replace get-pip.py with the new name.
    • Run the command pypy installer.py.

    Getting your Discord token and channel ID

    To use Grank, you will have to provide your Discord token and a channel ID. Don't worry - these details are never shared with anyone. It is best if only you and Dank Memer can send messages in the channel you get the ID of. This is to avoid confusion with other people's interactions.

    How do you get this information

    How to enter them

    Since Grank supports multi-instancing, for every token you put in you will have to specify a channel_id. Open src/credentials.json. You should see a dictionary with two keys * tokens and channel_ids. As mentioned earlier, for every token you put in the list of tokens, you need to put a channel id in the list of channel ids. You can add as many entries as you want. The file has been filled in with a dummy layout so you know how to input your data.

    You are now ready to use the program. Run pypy main.py in a command prompt in the /src/ directory to start the program (or if you are on Windows run main.exe). You do not have to have Discord open to run the program, so you can have the program running in the background while you do other things! Grank also supports multi-instancing, so you can run the program on different accounts at once!

    Config file

    The config.yml file is used to change the way the program runs.

    commands category

    Values in the commands category tell the program whether or not to run certain commands.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | beg | Boolean | True | Tells the program whether or not to run the command pls beg. | | crime | Boolean | True | Tells the program whether or not to run the command pls crime. | | daily | Boolean | True | Tells the program whether or not to run the command pls daily. | | dig | Boolean | True | Tells the program whether or not to run the command pls dig. | | fish | Boolean | True | Tells the program whether or not to run the command pls fish. | | guess | Boolean | True | Tells the program whether or not to run the command pls guess. | | highlow | Boolean | True | Tells the program whether or not to run the command pls highlow. | | hunt | Boolean | True | Tells the program whether or not to run the command pls hunt. | | postmeme | Boolean | True | Tells the program whether or not to run the command pls postmeme. | | search | Boolean | True | Tells the program whether or not to run the command pls search. | | trivia | Boolean | True | Tells the program whether or not to run the command pls trivia. | | vote | Boolean | True | Tells the program whether or not to vote for Dank Memer on Discord Bot List. |

    lottery category

    Values in the lottery category tell the program whether lottery tickets should be bought, and how often they should be bought.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to buy lottery tickets. | | cooldown | Integer | 3600 | Tells the program the interval between buying lottery tickets. |

    stream category

    Values in the stream category tell the program whether or not to run the command pls stream, and what buttons should it interact with.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | True | Tells the program whether or not to run the command pls stream`. | |ads|Boolean|True| Tells the program whether or not to collect run ads during the stream. | |chat|Boolean|True| Tells the program whether or not to read the chat during the stream. | |donations|Boolean|True``` | Tells the program whether or not to collect donations during the stream. |

    blackjack category

    Values in the blackjack category tell the program whether or not to run the command pls blackjack, and how much it should bet each time.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run the command pls blackjack. | | random | Boolean | False | Tells the program whether or not to choose a random amount each time the command pls blackjack is run, or to choose a pre-set amount. | | amount | Integer | 1500 | The pre-set amount to be bet if random is set to False. | | minimum | Integer | 1500 | The minimum amount to be bet if random is set to True. | | maximum | Integer | 3000 | The maximum amount to be bet if random is set to True. |

    snakeeyes category

    Values in the snakeeyes category tell the program whether or not to run the command pls snakeeyes, and how much it should bet each time.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run the command pls snakeeyes. | | random | Boolean | False | Tells the program whether or not to choose a random amount each time the command pls snakeeyes is run, or to choose a pre-set amount. | | amount | Integer | 1500 | The pre-set amount to be bet if random is set to False. | | minimum | Integer | 1500 | The minimum amount to be bet if random is set to True. | | maximum | Integer | 3000 | The maximum amount to be bet if random is set to True. |

    custom commands category

    Values in the custom commands category tell the program what custom commands should be run and their cooldowns.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run any of the custom commands. |

    NOTE: You can add your own custom commands by following the layout for the default options.

    shifts category

    Values in the shifts category tell the program whether or not to run Grank in shifts, and the length of active and passive phases.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run in shifts. | | active | Integer | 7200 | Tells the program how long the program should run before sleeping (in seconds). | | passive | Integer | 3600 | Tells the program how long the program should sleep before running again (in seconds). |

    auto buy category

    Values in the auto buy category tell the program whether or not to buy certain items if needed.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | True | If this is set to True no items will be bought. If it is set to False the program will try and buy the item if their respective config value is True. | | shovel | Boolean | True | Tells the program whether or not to try and buy the item shovel if needed and the user doesn't have it. | | fishing pole | Boolean | True | Tells the program whether or not to try and buy the item fishing pole if needed and the user doesn't have it. | | hunting rifle | Boolean | True | Tells the program whether or not to try and buy the hunting rifle if needed and the user doesn't have it. | | keyboard | Boolean | True | Tells the program whether or not to try and buy the item keyboard if needed and the user doesn't have it. | | mouse | Boolean | True | Tells the program whether or not to try and buy the item mouse if needed and the user doesn't have it. |

    auto trade category

    Values in the auto trade category tell the program who items should be traded to, and what items should be traded.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | If this is set to True no items will be traded. If it is set to False the program will try and trade the item if their respective config value is True. | | trader_token | String | None | The token of the user the items should be traded to. | | bank note | Boolean | True | Tells the program whether or not to try and trade the item bank note to the user specified in the traderoption. | | tidepod | Boolean | True | Tells the program whether or not to try and trade the item tidepod to the user specified in the traderoption. |

    NOTE: You can add your own items to be traded by following the layout for the default options.

    typing indicator category

    Values in the typing indicator category tell the program whether to make Discord think the self-bot is typing, and for how long it should. This is just for aesthetics and I would recommend it to be off in private servers to increase command speed, and on in public servers to make the self-bot look more legitimate.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | If this is set to True, the program will make Discord think the self-bot is typing. If it is set to False the program will not make Discord think the self-bot is typing, thus increasing command speed. | | minimum | Float | 0 | The minimum time for the program to sleep after Discord is told that the user is typing. | | maximum | Float | 1 | The maximum time for the program to sleep after Discord is told that the user is typing. |

    cooldowns category

    Values in the cooldowns category tell the program whether to use cooldowns for patrons and what the timeout is for getting responses from Dank Memer.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | patron | Boolean | False | Changes cooldowns to reflect the cooldowns of patrons. | | timeout | Integer | 5 | Timeout for waiting for responses from Dank Memer to commands that require user interaction (like pls search). |

    logging category

    Values in the logging category tell the program whether or not to log debug and warning messages. We would recommend having at least warning set to True. Fatal errors will be logged regardless of the configuration.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | debug | Boolean | True | Tells the program whether or not to log debug messages. | | warning | Boolean | True | Tells the program whether or not to log warning messages. |

    NOTE: Values in the logging category do not affect logging messages sent when the configuration file is being loaded and the token is being verified.

    Disclaimer

    This is a self-bot. Self-bots are against Discord's TOS. Automation of Dank Memer commands also breaks Dank Memer's rules. By using this program you acknowledge that I can take no responsibility for actions taken against you if you are caught.

    This being said, I believe the chance of being caught running this script is low, provided you take the appropriate measures. The only probable way you will be caught is if someone tries to send you a message and you don't respond.

    Stargazers repo roster for @didlly/grank

    Forkers repo roster for @didlly/grank

    Source code(tar.gz)
    Source code(zip)
    grank.zip(7.10 MB)
  • v2(Apr 3, 2022)

    Changes since last version

    • Bug fixes.
    • Speed improvements.

    Windows download

    Here

    README.md

    Show

    Grank

    Join our Discord

    Stargazers Forks Issues Pull Requests

    Contents

    What is Grank?

    Grank is a feature-rich script that automatically grinds Dank Memer for you. It is inspired by dankgrinder. Since dankgrinder has been discontinued and the recommended fork has also been discontinued, I decided to make my own version from scratch in Python.

    Features

    • Supports multi-instancing.

    • Efficiently coded.

    • Smart - if the user doesn't have a required item to run a command like pls dig, it will buy the required item so long as there are sufficient funds in the user's wallet & bank.

    • Autotrade - the self-bot automates the acception of the trade on both the side of the trader and the trade receiver.

    • Typing indicator.

    • Detects special events like Dodge the fireball.

    • Custom commands.

    • Autovote.

    Supported commands

    • pls beg
    • pls blackjack
    • pls crime
    • pls daily
    • pls dig
    • pls fish
    • pls guess
    • pls highlow
    • pls hunt
    • pls lottery
    • pls postmeme
    • pls search
    • pls snakeeyes
    • pls stream
    • pls trivia

    Todo

    Visit this link for project updates.

    Getting Started

    Setting up the environment

    Windows

    Skip this and download the latest version of Grank from here

    macOS and Linux

    Unfortunately, I do not have access to a Mac or Linux device, so you will have to run the program from the source code.

    • Download and extract the latest version of Grank from here.
    • Navigate into the /src/ folder of Grank.
    • Download and extract the files of the latest version of pypy for your platform into the folder. Make sure the files are in the /src/ folder and not in a sub-folder, otherwise this will not work.
    • Download and save this file in that directory.
    • Open a command prompt in that directory.
    • Run the command pypy get-pip.py. If you changed the name of the file when you downloaded it, please replace get-pip.py with the new name.
    • Run the command pypy installer.py.

    Getting your Discord token and channel ID

    To use Grank, you will have to provide your Discord token and a channel ID. Don't worry - these details are never shared with anyone. It is best if only you and Dank Memer can send messages in the channel you get the ID of. This is to avoid confusion with other people's interactions.

    How do you get this information

    How to enter them

    Since Grank supports multi-instancing, for every token you put in you will have to specify a channel_id. Open src/credentials.json. You should see a dictionary with two keys * tokens and channel_ids. As mentioned earlier, for every token you put in the list of tokens, you need to put a channel id in the list of channel ids. You can add as many entries as you want. The file has been filled in with a dummy layout so you know how to input your data.

    You are now ready to use the program. Run pypy main.py in a command prompt in the /src/ directory to start the program (or if you are on Windows run main.exe). You do not have to have Discord open to run the program, so you can have the program running in the background while you do other things! Grank also supports multi-instancing, so you can run the program on different accounts at once!

    Config file

    The config.yml file is used to change the way the program runs.

    commands category

    Values in the commands category tell the program whether or not to run certain commands.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | beg | Boolean | True | Tells the program whether or not to run the command pls beg. | | crime | Boolean | True | Tells the program whether or not to run the command pls crime. | | daily | Boolean | True | Tells the program whether or not to run the command pls daily. | | dig | Boolean | True | Tells the program whether or not to run the command pls dig. | | fish | Boolean | True | Tells the program whether or not to run the command pls fish. | | guess | Boolean | True | Tells the program whether or not to run the command pls guess. | | highlow | Boolean | True | Tells the program whether or not to run the command pls highlow. | | hunt | Boolean | True | Tells the program whether or not to run the command pls hunt. | | postmeme | Boolean | True | Tells the program whether or not to run the command pls postmeme. | | search | Boolean | True | Tells the program whether or not to run the command pls search. | | trivia | Boolean | True | Tells the program whether or not to run the command pls trivia. | | vote | Boolean | True | Tells the program whether or not to vote for Dank Memer on Discord Bot List. |

    lottery category

    Values in the lottery category tell the program whether lottery tickets should be bought, and how often they should be bought.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to buy lottery tickets. | | cooldown | Integer | 3600 | Tells the program the interval between buying lottery tickets. |

    stream category

    Values in the stream category tell the program whether or not to run the command pls stream, and what buttons should it interact with.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | True | Tells the program whether or not to run the command pls stream`. | |ads|Boolean|True| Tells the program whether or not to collect run ads during the stream. | |chat|Boolean|True| Tells the program whether or not to read the chat during the stream. | |donations|Boolean|True``` | Tells the program whether or not to collect donations during the stream. |

    blackjack category

    Values in the blackjack category tell the program whether or not to run the command pls blackjack, and how much it should bet each time.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run the command pls blackjack. | | random | Boolean | False | Tells the program whether or not to choose a random amount each time the command pls blackjack is run, or to choose a pre-set amount. | | amount | Integer | 1500 | The pre-set amount to be bet if random is set to False. | | minimum | Integer | 1500 | The minimum amount to be bet if random is set to True. | | maximum | Integer | 3000 | The maximum amount to be bet if random is set to True. |

    snakeeyes category

    Values in the snakeeyes category tell the program whether or not to run the command pls snakeeyes, and how much it should bet each time.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run the command pls snakeeyes. | | random | Boolean | False | Tells the program whether or not to choose a random amount each time the command pls snakeeyes is run, or to choose a pre-set amount. | | amount | Integer | 1500 | The pre-set amount to be bet if random is set to False. | | minimum | Integer | 1500 | The minimum amount to be bet if random is set to True. | | maximum | Integer | 3000 | The maximum amount to be bet if random is set to True. |

    custom commands category

    Values in the custom commands category tell the program what custom commands should be run and their cooldowns.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run any of the custom commands. |

    NOTE: You can add your own custom commands by following the layout for the default options.

    shifts category

    Values in the shifts category tell the program whether or not to run Grank in shifts, and the length of active and passive phases.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run in shifts. | | active | Integer | 7200 | Tells the program how long the program should run before sleeping (in seconds). | | passive | Integer | 3600 | Tells the program how long the program should sleep before running again (in seconds). |

    auto buy category

    Values in the auto buy category tell the program whether or not to buy certain items if needed.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | True | If this is set to True no items will be bought. If it is set to False the program will try and buy the item if their respective config value is True. | | shovel | Boolean | True | Tells the program whether or not to try and buy the item shovel if needed and the user doesn't have it. | | fishing pole | Boolean | True | Tells the program whether or not to try and buy the item fishing pole if needed and the user doesn't have it. | | hunting rifle | Boolean | True | Tells the program whether or not to try and buy the hunting rifle if needed and the user doesn't have it. | | keyboard | Boolean | True | Tells the program whether or not to try and buy the item keyboard if needed and the user doesn't have it. | | mouse | Boolean | True | Tells the program whether or not to try and buy the item mouse if needed and the user doesn't have it. |

    auto trade category

    Values in the auto trade category tell the program who items should be traded to, and what items should be traded.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | If this is set to True no items will be traded. If it is set to False the program will try and trade the item if their respective config value is True. | | trader_token | String | None | The token of the user the items should be traded to. | | bank note | Boolean | True | Tells the program whether or not to try and trade the item bank note to the user specified in the traderoption. | | tidepod | Boolean | True | Tells the program whether or not to try and trade the item tidepod to the user specified in the traderoption. |

    NOTE: You can add your own items to be traded by following the layout for the default options.

    typing indicator category

    Values in the typing indicator category tell the program whether to make Discord think the self-bot is typing, and for how long it should. This is just for aesthetics and I would recommend it to be off in private servers to increase command speed, and on in public servers to make the self-bot look more legitimate.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | If this is set to True, the program will make Discord think the self-bot is typing. If it is set to False the program will not make Discord think the self-bot is typing, thus increasing command speed. | | minimum | Float | 0 | The minimum time for the program to sleep after Discord is told that the user is typing. | | maximum | Float | 1 | The maximum time for the program to sleep after Discord is told that the user is typing. |

    cooldowns category

    Values in the cooldowns category tell the program whether to use cooldowns for patrons and what the timeout is for getting responses from Dank Memer.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | patron | Boolean | False | Changes cooldowns to reflect the cooldowns of patrons. | | timeout | Integer | 5 | Timeout for waiting for responses from Dank Memer to commands that require user interaction (like pls search). |

    logging category

    Values in the logging category tell the program whether or not to log debug and warning messages. We would recommend having at least warning set to True. Fatal errors will be logged regardless of the configuration.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | debug | Boolean | True | Tells the program whether or not to log debug messages. | | warning | Boolean | True | Tells the program whether or not to log warning messages. |

    NOTE: Values in the logging category do not affect logging messages sent when the configuration file is being loaded and the token is being verified.

    Disclaimer

    This is a self-bot. Self-bots are against Discord's TOS. Automation of Dank Memer commands also breaks Dank Memer's rules. By using this program you acknowledge that I can take no responsibility for actions taken against you if you are caught.

    This being said, I believe the chance of being caught running this script is low, provided you take the appropriate measures. The only probable way you will be caught is if someone tries to send you a message and you don't respond.

    Stargazers repo roster for @didlly/grank

    Forkers repo roster for @didlly/grank

    Source code(tar.gz)
    Source code(zip)
    grank.zip(7.09 MB)
  • v1.9(Mar 26, 2022)

    Changes since last version

    • Add 🗳️ autovote!
    • Bug fixes.
    • Add code comments.

    Windows download

    Here

    README.md

    Show

    Grank

    Join our Discord

    Stargazers Forks Issues Pull Requests

    Contents

    What is Grank?

    Grank is a feature-rich script that automatically grinds Dank Memer for you. It is inspired by dankgrinder. Since dankgrinder has been discontinued and the recommended fork has also been discontinued, I decided to make my own version from scratch in Python.

    Features

    • Supports multi-instancing.

    • Efficiently coded.

    • Smart - if the user doesn't have a required item to run a command like pls pm, it will buy the required item so long as there are sufficient funds in the user's wallet & bank.

    • Autotrade - the self-bot automates the acception of the trade on both the side of the trader and the trade receiver.

    • Typing indicator.

    • Detects special events like Dodge the fireball.

    • Custom commands.

    • Autovote.

    Supported commands

    • pls beg
    • pls blackjack
    • pls crime
    • pls daily
    • pls dig
    • pls fish
    • pls guess
    • pls highlow
    • pls hunt
    • pls lottery
    • pls postmeme
    • pls search
    • pls snakeeyes
    • pls stream
    • pls trivia

    Todo

    Visit this link for project updates.

    Getting Started

    Setting up the environment

    Windows

    Skip this and download the latest version of Grank from here

    macOS and Linux

    Unfortunately, I do not have access to a Mac or Linux device, so you will have to run the program from the source code.

    • Download and extract the latest version of Grank from here.
    • Navigate into the /src/ folder of Grank.
    • Download and extract the files of the latest version of pypy for your platform into the folder. Make sure the files are in the /src/ folder and not in a sub-folder, otherwise this will not work.
    • Download and save this file in that directory.
    • Open a command prompt in that directory.
    • Run the command pypy get-pip.py. If you changed the name of the file when you downloaded it, please replace get-pip.py with the new name.
    • Run the command pypy installer.py.

    Getting your Discord token and channel ID

    To use Grank, you will have to provide your Discord token and a channel ID. Don't worry - these details are never shared with anyone. It is best if only you and Dank Memer can send messages in the channel you get the ID of. This is to avoid confusion with other people's interactions.

    How do you get this information

    How to enter them

    Since Grank supports multi-instancing, for every token you put in you will have to specify a channel_id. Open src/credentials.json. You should see a dictionary with two keys * tokens and channel_ids. As mentioned earlier, for every token you put in the list of tokens, you need to put a channel id in the list of channel ids. You can add as many entries as you want. The file has been filled in with a dummy layout so you know how to input your data.

    You are now ready to use the program. Run pypy main.py in a command prompt in the /src/ directory to start the program (or if you are on Windows run main.exe). You do not have to have Discord open to run the program, so you can have the program running in the background while you do other things! Grank also supports multi-instancing, so you can run the program on different accounts at once!

    Config file

    The config.yml file is used to change the way the program runs.

    commands category

    Values in the commands category tell the program whether or not to run certain commands.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | beg | Boolean | True | Tells the program whether or not to run the command pls beg. | | crime | Boolean | True | Tells the program whether or not to run the command pls crime. | | daily | Boolean | True | Tells the program whether or not to run the command pls daily. | | dig | Boolean | True | Tells the program whether or not to run the command pls dig. | | fish | Boolean | True | Tells the program whether or not to run the command pls fish. | | guess | Boolean | True | Tells the program whether or not to run the command pls guess. | | highlow | Boolean | True | Tells the program whether or not to run the command pls highlow. | | hunt | Boolean | True | Tells the program whether or not to run the command pls hunt. | | postmeme | Boolean | True | Tells the program whether or not to run the command pls postmeme. | | search | Boolean | True | Tells the program whether or not to run the command pls search. | | trivia | Boolean | True | Tells the program whether or not to run the command pls trivia. | | vote | Boolean | True | Tells the program whether or not to vote for Dank Memer on Discord Bot List. |

    lottery category

    Values in the lottery category tell the program whether lottery tickets should be bought, and how often they should be bought.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to buy lottery tickets. | | cooldown | Integer | 3600 | Tells the program the interval between buying lottery tickets. |

    stream category

    Values in the stream category tell the program whether or not to run the command pls stream, and what buttons should it interact with.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | True | Tells the program whether or not to run the command pls stream`. | |ads|Boolean|True| Tells the program whether or not to collect run ads during the stream. | |chat|Boolean|True| Tells the program whether or not to read the chat during the stream. | |donations|Boolean|True``` | Tells the program whether or not to collect donations during the stream. |

    blackjack category

    Values in the blackjack category tell the program whether or not to run the command pls blackjack, and how much it should bet each time.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run the command pls blackjack. | | random | Boolean | False | Tells the program whether or not to choose a random amount each time the command pls blackjack is run, or to choose a pre-set amount. | | amount | Integer | 1500 | The pre-set amount to be bet if random is set to False. | | minimum | Integer | 1500 | The minimum amount to be bet if random is set to True. | | maximum | Integer | 3000 | The maximum amount to be bet if random is set to True. |

    snakeeyes category

    Values in the snakeeyes category tell the program whether or not to run the command pls snakeeyes, and how much it should bet each time.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run the command pls snakeeyes. | | random | Boolean | False | Tells the program whether or not to choose a random amount each time the command pls snakeeyes is run, or to choose a pre-set amount. | | amount | Integer | 1500 | The pre-set amount to be bet if random is set to False. | | minimum | Integer | 1500 | The minimum amount to be bet if random is set to True. | | maximum | Integer | 3000 | The maximum amount to be bet if random is set to True. |

    custom commands category

    Values in the custom commands category tell the program what custom commands should be run and their cooldowns.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run any of the custom commands. |

    NOTE: You can add your own custom commands by following the layout for the default options.

    shifts category

    Values in the shifts category tell the program whether or not to run Grank in shifts, and the length of active and passive phases.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run in shifts. | | active | Integer | 7200 | Tells the program how long the program should run before sleeping (in seconds). | | passive | Integer | 3600 | Tells the program how long the program should sleep before running again (in seconds). |

    auto buy category

    Values in the auto buy category tell the program whether or not to buy certain items if needed.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | True | If this is set to True no items will be bought. If it is set to False the program will try and buy the item if their respective config value is True. | | laptop | Boolean | True | Tells the program whether or not to try and buy the item laptop if needed and the user doesn't have it. | | shovel | Boolean | True | Tells the program whether or not to try and buy the item shovel if needed and the user doesn't have it. | | fishing pole | Boolean | True | Tells the program whether or not to try and buy the item fishing pole if needed and the user doesn't have it. | | hunting rifle | Boolean | True | Tells the program whether or not to try and buy the hunting rifle if needed and the user doesn't have it. | | keyboard | Boolean | True | Tells the program whether or not to try and buy the item keyboard if needed and the user doesn't have it. | | mouse | Boolean | True | Tells the program whether or not to try and buy the item mouse if needed and the user doesn't have it. |

    auto trade category

    Values in the auto trade category tell the program who items should be traded to, and what items should be traded.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | If this is set to True no items will be traded. If it is set to False the program will try and trade the item if their respective config value is True. | | trader_token | String | None | The token of the user the items should be traded to. | | bank note | Boolean | True | Tells the program whether or not to try and trade the item bank note to the user specified in the traderoption. | | tidepod | Boolean | True | Tells the program whether or not to try and trade the item tidepod to the user specified in the traderoption. |

    NOTE: You can add your own items to be traded by following the layout for the default options.

    typing indicator category

    Values in the typing indicator category tell the program whether to make Discord think the self-bot is typing, and for how long it should. This is just for aesthetics and I would recommend it to be off in private servers to increase command speed, and on in public servers to make the self-bot look more legitimate.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | If this is set to True, the program will make Discord think the self-bot is typing. If it is set to False the program will not make Discord think the self-bot is typing, thus increasing command speed. | | minimum | Float | 0 | The minimum time for the program to sleep after Discord is told that the user is typing. | | maximum | Float | 1 | The maximum time for the program to sleep after Discord is told that the user is typing. |

    cooldowns category

    Values in the cooldowns category tell the program whether to use cooldowns for patrons and what the timeout is for getting responses from Dank Memer.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | patron | Boolean | False | Changes cooldowns to reflect the cooldowns of patrons. | | timeout | Integer | 5 | Timeout for waiting for responses from Dank Memer to commands that require user interaction (like pls search). |

    logging category

    Values in the logging category tell the program whether or not to log debug and warning messages. We would recommend having at least warning set to True. Fatal errors will be logged regardless of the configuration.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | debug | Boolean | True | Tells the program whether or not to log debug messages. | | warning | Boolean | True | Tells the program whether or not to log warning messages. |

    NOTE: Values in the logging category do not affect logging messages sent when the configuration file is being loaded and the token is being verified.

    Disclaimer

    This is a self-bot. Self-bots are against Discord's TOS. Automation of Dank Memer commands also breaks Dank Memer's rules. By using this program you acknowledge that I can take no responsibility for actions taken against you if you are caught.

    This being said, I believe the chance of being caught running this script is low, provided you take the appropriate measures. The only probable way you will be caught is if someone tries to send you a message and you don't respond.

    Stargazers repo roster for @didlly/grank

    Forkers repo roster for @didlly/grank

    Source code(tar.gz)
    Source code(zip)
    grank.zip(7.94 MB)
  • v1.8(Mar 25, 2022)

    Changes since last version

    • Bug fixes.

    Windows download

    Here

    README.md

    Show

    Grank

    Inspired by this repository. This is a WIP and there will be more functions added in the future. Special thanks to V4NSH4J for helping me solve lots of the problems I encountered.
    Discord

    Contents

    What is Grank?

    Grank is a feature-rich script that automatically grinds Dank Memer for you. It is inspired by dankgrinder. Since dankgrinder has been discontinued and the recommended fork has also been discontinued, I decided to make my own version from scratch in Python.

    Features

    • Supports multi-instancing.
    • Efficiently coded.
    • Smart - if the user doesn't have a required item to run a command like pls pm, it will buy the required item so long as there are sufficient funds in the user's wallet & bank.
    • Autotrade - the self-bot automates the acception of the trade on both the side of the trader and the trade receiver.
    • Typing indicator.
    • Detects special events like Dodge the fireball.
    • Custom commands.

    Supported commands

    • pls daily
    • pls beg
    • pls blackjack
    • pls crime
    • pls dig
    • pls fish
    • pls guess
    • pls highlow
    • pls hunt
    • pls lottery
    • pls postmeme
    • pls stream
    • pls search
    • pls snakeeyes
    • pls trivia

    Todo

    Visit this link for project updates.

    Getting Started

    Setting up the environment

    Windows

    Skip this and download the latest version of Grank from here

    macOS and Linux

    Unfortunately, I do not have access to a Mac or Linux device, so you will have to run the program from the source code.

    • Download and extract the latest version of Grank from here.
    • Navigate into the /src/ folder of Grank.
    • Download and extract the files of the latest version of pypy for your platform into the folder. Make sure the files are in the /src/ folder and not in a sub-folder, otherwise this will not work.
    • Download and save this file in that directory.
    • Open a command prompt in that directory.
    • Run the command pypy get-pip.py. If you changed the name of the file when you downloaded it, please replace get-pip.py with the new name.
    • Run the command pypy installer.py.

    Getting your Discord token and channel ID

    To use Grank, you will have to provide your Discord token and a channel ID. Don't worry - these details are never shared with anyone. It is best if only you and Dank Memer can send messages in the channel you get the ID of. This is to avoid confusion with other people's interactions.

    How do you get this information

    How to enter them

    Since Grank supports multi-instancing, for every token you put in you will have to specify a channel_id. Open src/credentials.json. You should see a dictionary with two keys - tokens and channel_ids. As mentioned earlier, for every token you put in the list of tokens, you need to put a channel id in the list of channel ids. You can add as many entries as you want. The file has been filled in with a dummy layout so you know how to input your data.

    You are now ready to use the program. Run pypy main.py in a command prompt in the /src/ directory to start the program (or if you are on Windows run main.exe). You do not have to have Discord open to run the program, so you can have the program running in the background while you do other things! Grank also supports multi-instancing, so you can run the program on different accounts at once!

    Config file

    The config.yml file is used to change the way the program runs.

    commands category

    Values in the commands category tell the program whether or not to run certain commands.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | daily | Boolean | True | Tells the program whether or not to run the command pls daily. | | beg | Boolean | True | Tells the program whether or not to run the command pls beg. | | crime | Boolean | True | Tells the program whether or not to run the command pls crime. | | dig | Boolean | True | Tells the program whether or not to run the command pls dig. | | fish | Boolean | True | Tells the program whether or not to run the command pls fish. | | guess | Boolean | True | Tells the program whether or not to run the command pls guess. | | hunt | Boolean | True | Tells the program whether or not to run the command pls hunt. | | search | Boolean | True | Tells the program whether or not to run the command pls search. | | highlow | Boolean | True | Tells the program whether or not to run the command pls highlow. | | postmeme | Boolean | True | Tells the program whether or not to run the command pls postmeme. | | trivia | Boolean | True | Tells the program whether or not to run the command pls trivia. |

    lottery category

    Values in the lottery category tell the program whether lottery tickets should be bought, and how often they should be bought.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to buy lottery tickets. | | cooldown | Integer | 3600 | Tells the program the interval between buying lottery tickets. |

    stream category

    Values in the stream category tell the program whether or not to run the command pls stream, and what buttons should it interact with.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | True | Tells the program whether or not to run the command pls stream`. | |ads|Boolean|True| Tells the program whether or not to collect run ads during the stream. | |chat|Boolean|True| Tells the program whether or not to read the chat during the stream. | |donations|Boolean|True``` | Tells the program whether or not to collect donations during the stream. |

    blackjack category

    Values in the blackjack category tell the program whether or not to run the command pls blackjack, and how much it should bet each time.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run the command pls blackjack. | | random | Boolean | False | Tells the program whether or not to choose a random amount each time the command pls blackjack is run, or to choose a pre-set amount. | | amount | Integer | 1500 | The pre-set amount to be bet if random is set to False. | | minimum | Integer | 1500 | The minimum amount to be bet if random is set to True. | | maximum | Integer | 3000 | The maximum amount to be bet if random is set to True. |

    snakeeyes category

    Values in the snakeeyes category tell the program whether or not to run the command pls snakeeyes, and how much it should bet each time.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run the command pls snakeeyes. | | random | Boolean | False | Tells the program whether or not to choose a random amount each time the command pls snakeeyes is run, or to choose a pre-set amount. | | amount | Integer | 1500 | The pre-set amount to be bet if random is set to False. | | minimum | Integer | 1500 | The minimum amount to be bet if random is set to True. | | maximum | Integer | 3000 | The maximum amount to be bet if random is set to True. |

    custom commands category

    Values in the custom commands category tell the program what custom commands should be run and their cooldowns.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run any of the custom commands. |

    NOTE: You can add your own custom commands by following the layout for the default options.

    shifts category

    Values in the shifts category tell the program whether or not to run Grank in shifts, and the length of active and passive phases.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run in shifts. | | active | Integer | 7200 | Tells the program how long the program should run before sleeping (in seconds). | | passive | Integer | 3600 | Tells the program how long the program should sleep before running again (in seconds). |

    auto buy category

    Values in the auto buy category tell the program whether or not to buy certain items if needed.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | True | If this is set to True no items will be bought. If it is set to False the program will try and buy the item if their respective config value is True. | | laptop | Boolean | True | Tells the program whether or not to try and buy the item laptop if needed and the user doesn't have it. | | shovel | Boolean | True | Tells the program whether or not to try and buy the item shovel if needed and the user doesn't have it. | | fishing pole | Boolean | True | Tells the program whether or not to try and buy the item fishing pole if needed and the user doesn't have it. | | hunting rifle | Boolean | True | Tells the program whether or not to try and buy the hunting rifle if needed and the user doesn't have it. | | keyboard | Boolean | True | Tells the program whether or not to try and buy the item keyboard if needed and the user doesn't have it. | | mouse | Boolean | True | Tells the program whether or not to try and buy the item mouse if needed and the user doesn't have it. |

    auto trade category

    Values in the auto trade category tell the program who items should be traded to, and what items should be traded.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | If this is set to True no items will be traded. If it is set to False the program will try and trade the item if their respective config value is True. | | trader_token | String | None | The token of the user the items should be traded to. | | bank note | Boolean | True | Tells the program whether or not to try and trade the item bank note to the user specified in the traderoption. | | tidepod | Boolean | True | Tells the program whether or not to try and trade the item tidepod to the user specified in the traderoption. |

    NOTE: You can add your own items to be traded by following the layout for the default options.

    typing indicator category

    Values in the typing indicator category tell the program whether to make Discord think the self-bot is typing, and for how long it should. This is just for aesthetics and I would recommend it to be off in private servers to increase command speed, and on in public servers to make the self-bot look more legitimate.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | If this is set to True, the program will make Discord think the self-bot is typing. If it is set to False the program will not make Discord think the self-bot is typing, thus increasing command speed. | | minimum | Float | 0 | The minimum time for the program to sleep after Discord is told that the user is typing. | | maximum | Float | 1 | The maximum time for the program to sleep after Discord is told that the user is typing. |

    cooldowns category

    Values in the cooldowns category tell the program whether to use cooldowns for patrons and what the timeout is for getting responses from Dank Memer.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | patron | Boolean | False | Changes cooldowns to reflect the cooldowns of patrons. | | timeout | Integer | 5 | Timeout for waiting for responses from Dank Memer to commands that require user interaction (like pls search). |

    logging category

    Values in the logging category tell the program whether or not to log debug and warning messages. We would recommend having at least warning set to True. Fatal errors will be logged regardless of the configuration.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | debug | Boolean | True | Tells the program whether or not to log debug messages. | | warning | Boolean | True | Tells the program whether or not to log warning messages. |

    NOTE: Values in the logging category do not affect logging messages sent when the configuration file is being loaded and the token is being verified.

    Disclaimer

    This is a self-bot. Self-bots are against Discord's TOS. Automation of Dank Memer commands also breaks Dank Memer's rules. By using this program you acknowledge that I can take no responsibility for actions taken against you if you are caught.

    This being said, I believe the chance of being caught running this script is low, provided you take the appropriate measures. The only probable way you will be caught is if someone tries to send you a message and you don't respond.

    Stargazers repo roster for @didlly/grank

    Forkers repo roster for @didlly/grank

    Source code(tar.gz)
    Source code(zip)
    grank.zip(7.93 MB)
  • v1.7(Mar 24, 2022)

    Changes since last version

    • Partial code rewrite.

    Windows download

    Here

    README.md

    Show

    Grank

    Inspired by this repository. This is a WIP and there will be more functions added in the future. Special thanks to V4NSH4J for helping me solve lots of the problems I encountered.
    Discord

    Contents

    What is Grank?

    Grank is a feature-rich script that automatically grinds Dank Memer for you. It is inspired by dankgrinder. Since dankgrinder has been discontinued and the recommended fork has also been discontinued, I decided to make my own version from scratch in Python.

    Features

    • Supports multi-instancing.
    • Efficiently coded.
    • Smart - if the user doesn't have a required item to run a command like pls pm, it will buy the required item so long as there are sufficient funds in the user's wallet & bank.
    • Autotrade - the self-bot automates the acception of the trade on both the side of the trader and the trade receiver.
    • Typing indicator.
    • Detects special events like Dodge the fireball.
    • Custom commands.

    Supported commands

    • pls daily
    • pls beg
    • pls blackjack
    • pls crime
    • pls dig
    • pls fish
    • pls guess
    • pls highlow
    • pls hunt
    • pls lottery
    • pls postmeme
    • pls stream
    • pls search
    • pls snakeeyes
    • pls trivia

    Todo

    Visit this link for project updates.

    Getting Started

    Setting up the environment

    Windows

    Skip this and download the latest version of Grank from here

    macOS and Linux

    Unfortunately, I do not have access to a Mac or Linux device, so you will have to run the program from the source code.

    • Download and extract the latest version of Grank from here.
    • Navigate into the /src/ folder of Grank.
    • Download and extract the files of the latest version of pypy for your platform into the folder. Make sure the files are in the /src/ folder and not in a sub-folder, otherwise this will not work.
    • Download and save this file in that directory.
    • Open a command prompt in that directory.
    • Run the command pypy get-pip.py. If you changed the name of the file when you downloaded it, please replace get-pip.py with the new name.
    • Run the command pypy installer.py.

    Getting your Discord token and channel ID

    To use Grank, you will have to provide your Discord token and a channel ID. Don't worry - these details are never shared with anyone. It is best if only you and Dank Memer can send messages in the channel you get the ID of. This is to avoid confusion with other people's interactions.

    How do you get this information

    How to enter them

    Since Grank supports multi-instancing, for every token you put in you will have to specify a channel_id. Open src/credentials.json. You should see a dictionary with two keys - tokens and channel_ids. As mentioned earlier, for every token you put in the list of tokens, you need to put a channel id in the list of channel ids. You can add as many entries as you want. The file has been filled in with a dummy layout so you know how to input your data.

    You are now ready to use the program. Run pypy main.py in a command prompt in the /src/ directory to start the program (or if you are on Windows run main.exe). You do not have to have Discord open to run the program, so you can have the program running in the background while you do other things! Grank also supports multi-instancing, so you can run the program on different accounts at once!

    Config file

    The config.yml file is used to change the way the program runs.

    commands category

    Values in the commands category tell the program whether or not to run certain commands.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | daily | Boolean | True | Tells the program whether or not to run the command pls daily. | | beg | Boolean | True | Tells the program whether or not to run the command pls beg. | | crime | Boolean | True | Tells the program whether or not to run the command pls crime. | | dig | Boolean | True | Tells the program whether or not to run the command pls dig. | | fish | Boolean | True | Tells the program whether or not to run the command pls fish. | | guess | Boolean | True | Tells the program whether or not to run the command pls guess. | | hunt | Boolean | True | Tells the program whether or not to run the command pls hunt. | | search | Boolean | True | Tells the program whether or not to run the command pls search. | | highlow | Boolean | True | Tells the program whether or not to run the command pls highlow. | | postmeme | Boolean | True | Tells the program whether or not to run the command pls postmeme. | | trivia | Boolean | True | Tells the program whether or not to run the command pls trivia. |

    lottery category

    Values in the lottery category tell the program whether lottery tickets should be bought, and how often they should be bought.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to buy lottery tickets. | | cooldown | Integer | 3600 | Tells the program the interval between buying lottery tickets. |

    stream category

    Values in the stream category tell the program whether or not to run the command pls stream, and what buttons should it interact with.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | True | Tells the program whether or not to run the command pls stream`. | |ads|Boolean|True| Tells the program whether or not to collect run ads during the stream. | |chat|Boolean|True| Tells the program whether or not to read the chat during the stream. | |donations|Boolean|True``` | Tells the program whether or not to collect donations during the stream. |

    blackjack category

    Values in the blackjack category tell the program whether or not to run the command pls blackjack, and how much it should bet each time.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run the command pls blackjack. | | random | Boolean | False | Tells the program whether or not to choose a random amount each time the command pls blackjack is run, or to choose a pre-set amount. | | amount | Integer | 1500 | The pre-set amount to be bet if random is set to False. | | minimum | Integer | 1500 | The minimum amount to be bet if random is set to True. | | maximum | Integer | 3000 | The maximum amount to be bet if random is set to True. |

    snakeeyes category

    Values in the snakeeyes category tell the program whether or not to run the command pls snakeeyes, and how much it should bet each time.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run the command pls snakeeyes. | | random | Boolean | False | Tells the program whether or not to choose a random amount each time the command pls snakeeyes is run, or to choose a pre-set amount. | | amount | Integer | 1500 | The pre-set amount to be bet if random is set to False. | | minimum | Integer | 1500 | The minimum amount to be bet if random is set to True. | | maximum | Integer | 3000 | The maximum amount to be bet if random is set to True. |

    custom commands category

    Values in the custom commands category tell the program what custom commands should be run and their cooldowns.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run any of the custom commands. |

    NOTE: You can add your own custom commands by following the layout for the default options.

    shifts category

    Values in the shifts category tell the program whether or not to run Grank in shifts, and the length of active and passive phases.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run in shifts. | | active | Integer | 7200 | Tells the program how long the program should run before sleeping (in seconds). | | passive | Integer | 3600 | Tells the program how long the program should sleep before running again (in seconds). |

    auto buy category

    Values in the auto buy category tell the program whether or not to buy certain items if needed.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | True | If this is set to True no items will be bought. If it is set to False the program will try and buy the item if their respective config value is True. | | laptop | Boolean | True | Tells the program whether or not to try and buy the item laptop if needed and the user doesn't have it. | | shovel | Boolean | True | Tells the program whether or not to try and buy the item shovel if needed and the user doesn't have it. | | fishing pole | Boolean | True | Tells the program whether or not to try and buy the item fishing pole if needed and the user doesn't have it. | | hunting rifle | Boolean | True | Tells the program whether or not to try and buy the hunting rifle if needed and the user doesn't have it. | | keyboard | Boolean | True | Tells the program whether or not to try and buy the item keyboard if needed and the user doesn't have it. | | mouse | Boolean | True | Tells the program whether or not to try and buy the item mouse if needed and the user doesn't have it. |

    auto trade category

    Values in the auto trade category tell the program who items should be traded to, and what items should be traded.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | If this is set to True no items will be traded. If it is set to False the program will try and trade the item if their respective config value is True. | | trader_token | String | None | The token of the user the items should be traded to. | | bank note | Boolean | True | Tells the program whether or not to try and trade the item bank note to the user specified in the traderoption. | | tidepod | Boolean | True | Tells the program whether or not to try and trade the item tidepod to the user specified in the traderoption. |

    NOTE: You can add your own items to be traded by following the layout for the default options.

    typing indicator category

    Values in the typing indicator category tell the program whether to make Discord think the self-bot is typing, and for how long it should. This is just for aesthetics and I would recommend it to be off in private servers to increase command speed, and on in public servers to make the self-bot look more legitimate.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | If this is set to True, the program will make Discord think the self-bot is typing. If it is set to False the program will not make Discord think the self-bot is typing, thus increasing command speed. | | minimum | Float | 0 | The minimum time for the program to sleep after Discord is told that the user is typing. | | maximum | Float | 1 | The maximum time for the program to sleep after Discord is told that the user is typing. |

    cooldowns category

    Values in the cooldowns category tell the program whether to use cooldowns for patrons and what the timeout is for getting responses from Dank Memer.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | patron | Boolean | False | Changes cooldowns to reflect the cooldowns of patrons. | | timeout | Integer | 5 | Timeout for waiting for responses from Dank Memer to commands that require user interaction (like pls search). |

    logging category

    Values in the logging category tell the program whether or not to log debug and warning messages. We would recommend having at least warning set to True. Fatal errors will be logged regardless of the configuration.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | debug | Boolean | True | Tells the program whether or not to log debug messages. | | warning | Boolean | True | Tells the program whether or not to log warning messages. |

    NOTE: Values in the logging category do not affect logging messages sent when the configuration file is being loaded and the token is being verified.

    Disclaimer

    This is a self-bot. Self-bots are against Discord's TOS. Automation of Dank Memer commands also breaks Dank Memer's rules. By using this program you acknowledge that I can take no responsibility for actions taken against you if you are caught.

    This being said, I believe the chance of being caught running this script is low, provided you take the appropriate measures. The only probable way you will be caught is if someone tries to send you a message and you don't respond.

    Stargazers repo roster for @didlly/grank

    Forkers repo roster for @didlly/grank

    Source code(tar.gz)
    Source code(zip)
    grank.zip(7.93 MB)
  • v1.6(Mar 20, 2022)

    Changes since last version

    • Add more questions to trivia database (courtesy of Smint).
    • Fix custom commands bug.

    Windows download

    Here

    README.md

    Show

    Grank

    Inspired by this repository. This is a WIP and there will be more functions added in the future. Special thanks to V4NSH4J for helping me solve lots of the problems I encountered.
    Discord

    Contents

    What is Grank?

    Grank is a feature-rich script that automatically grinds Dank Memer for you. It is inspired by dankgrinder. Since dankgrinder has been discontinued and the recommended fork has also been discontinued, I decided to make my own version from scratch in Python.

    Features

    • Supports multi-instancing.
    • Efficiently coded.
    • Smart - if the user doesn't have a required item to run a command like pls pm, it will buy the required item so long as there are sufficient funds in the user's wallet & bank.
    • Autotrade - the self-bot automates the acception of the trade on both the side of the trader and the trade receiver.
    • Typing indicator.
    • Detects special events like Dodge the fireball.
    • Custom commands.

    Supported commands

    • pls daily
    • pls beg
    • pls blackjack
    • pls crime
    • pls dig
    • pls fish
    • pls guess
    • pls highlow
    • pls hunt
    • pls lottery
    • pls postmeme
    • pls stream
    • pls search
    • pls snakeeyes
    • pls trivia

    Todo

    Visit this link for project updates.

    Getting Started

    Setting up the environment

    Windows

    Skip this and download the latest version of Grank from here

    macOS and Linux

    Unfortunately, I do not have access to a Mac or Linux device, so you will have to run the program from the source code.

    • Download and extract the latest version of Grank from here.
    • Navigate into the /src/ folder of Grank.
    • Download and extract the files of the latest version of pypy for your platform into the folder. Make sure the files are in the /src/ folder and not in a sub-folder, otherwise this will not work.
    • Download and save this file in that directory.
    • Open a command prompt in that directory.
    • Run the command pypy get-pip.py. If you changed the name of the file when you downloaded it, please replace get-pip.py with the new name.
    • Run the command pypy installer.py.

    Getting your Discord token and channel ID

    To use Grank, you will have to provide your Discord token and a channel ID. Don't worry - these details are never shared with anyone. It is best if only you and Dank Memer can send messages in the channel you get the ID of. This is to avoid confusion with other people's interactions.

    How do you get this information

    How to enter them

    Since Grank supports multi-instancing, for every token you put in you will have to specify a channel_id. Open src/credentials.json. You should see a dictionary with two keys - tokens and channel_ids. As mentioned earlier, for every token you put in the list of tokens, you need to put a channel id in the list of channel ids. You can add as many entries as you want. The file has been filled in with a dummy layout so you know how to input your data.

    You are now ready to use the program. Run pypy main.py in a command prompt in the /src/ directory to start the program (or if you are on Windows run main.exe). You do not have to have Discord open to run the program, so you can have the program running in the background while you do other things! Grank also supports multi-instancing, so you can run the program on different accounts at once!

    Config file

    The config.yml file is used to change the way the program runs.

    commands category

    Values in the commands category tell the program whether or not to run certain commands.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | daily | Boolean | True | Tells the program whether or not to run the command pls daily. | | beg | Boolean | True | Tells the program whether or not to run the command pls beg. | | crime | Boolean | True | Tells the program whether or not to run the command pls crime. | | dig | Boolean | True | Tells the program whether or not to run the command pls dig. | | fish | Boolean | True | Tells the program whether or not to run the command pls fish. | | guess | Boolean | True | Tells the program whether or not to run the command pls guess. | | hunt | Boolean | True | Tells the program whether or not to run the command pls hunt. | | search | Boolean | True | Tells the program whether or not to run the command pls search. | | highlow | Boolean | True | Tells the program whether or not to run the command pls highlow. | | postmeme | Boolean | True | Tells the program whether or not to run the command pls postmeme. | | trivia | Boolean | True | Tells the program whether or not to run the command pls trivia. |

    lottery category

    Values in the lottery category tell the program whether lottery tickets should be bought, and how often they should be bought.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to buy lottery tickets. | | cooldown | Integer | 3600 | Tells the program the interval between buying lottery tickets. |

    stream category

    Values in the stream category tell the program whether or not to run the command pls stream, and what buttons should it interact with.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | True | Tells the program whether or not to run the command pls stream`. | |ads|Boolean|True| Tells the program whether or not to collect run ads during the stream. | |chat|Boolean|True| Tells the program whether or not to read the chat during the stream. | |donations|Boolean|True``` | Tells the program whether or not to collect donations during the stream. |

    blackjack category

    Values in the blackjack category tell the program whether or not to run the command pls blackjack, and how much it should bet each time.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run the command pls blackjack. | | random | Boolean | False | Tells the program whether or not to choose a random amount each time the command pls blackjack is run, or to choose a pre-set amount. | | amount | Integer | 1500 | The pre-set amount to be bet if random is set to False. | | minimum | Integer | 1500 | The minimum amount to be bet if random is set to True. | | maximum | Integer | 3000 | The maximum amount to be bet if random is set to True. |

    snakeeyes category

    Values in the snakeeyes category tell the program whether or not to run the command pls snakeeyes, and how much it should bet each time.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run the command pls snakeeyes. | | random | Boolean | False | Tells the program whether or not to choose a random amount each time the command pls snakeeyes is run, or to choose a pre-set amount. | | amount | Integer | 1500 | The pre-set amount to be bet if random is set to False. | | minimum | Integer | 1500 | The minimum amount to be bet if random is set to True. | | maximum | Integer | 3000 | The maximum amount to be bet if random is set to True. |

    custom commands category

    Values in the custom commands category tell the program what custom commands should be run and their cooldowns.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run any of the custom commands. |

    NOTE: You can add your own custom commands by following the layout for the default options.

    shifts category

    Values in the shifts category tell the program whether or not to run Grank in shifts, and the length of active and passive phases.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run in shifts. | | active | Integer | 7200 | Tells the program how long the program should run before sleeping (in seconds). | | passive | Integer | 3600 | Tells the program how long the program should sleep before running again (in seconds). |

    auto buy category

    Values in the auto buy category tell the program whether or not to buy certain items if needed.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | True | If this is set to True no items will be bought. If it is set to False the program will try and buy the item if their respective config value is True. | | laptop | Boolean | True | Tells the program whether or not to try and buy the item laptop if needed and the user doesn't have it. | | shovel | Boolean | True | Tells the program whether or not to try and buy the item shovel if needed and the user doesn't have it. | | fishing pole | Boolean | True | Tells the program whether or not to try and buy the item fishing pole if needed and the user doesn't have it. | | hunting rifle | Boolean | True | Tells the program whether or not to try and buy the hunting rifle if needed and the user doesn't have it. | | keyboard | Boolean | True | Tells the program whether or not to try and buy the item keyboard if needed and the user doesn't have it. | | mouse | Boolean | True | Tells the program whether or not to try and buy the item mouse if needed and the user doesn't have it. |

    auto trade category

    Values in the auto trade category tell the program who items should be traded to, and what items should be traded.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | If this is set to True no items will be traded. If it is set to False the program will try and trade the item if their respective config value is True. | | trader_token | String | None | The token of the user the items should be traded to. | | bank note | Boolean | True | Tells the program whether or not to try and trade the item bank note to the user specified in the traderoption. | | tidepod | Boolean | True | Tells the program whether or not to try and trade the item tidepod to the user specified in the traderoption. |

    NOTE: You can add your own items to be traded by following the layout for the default options.

    typing indicator category

    Values in the typing indicator category tell the program whether to make Discord think the self-bot is typing, and for how long it should. This is just for aesthetics and I would recommend it to be off in private servers to increase command speed, and on in public servers to make the self-bot look more legitimate.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | If this is set to True, the program will make Discord think the self-bot is typing. If it is set to False the program will not make Discord think the self-bot is typing, thus increasing command speed. | | minimum | Float | 0 | The minimum time for the program to sleep after Discord is told that the user is typing. | | maximum | Float | 1 | The maximum time for the program to sleep after Discord is told that the user is typing. |

    cooldowns category

    Values in the cooldowns category tell the program whether to use cooldowns for patrons and what the timeout is for getting responses from Dank Memer.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | patron | Boolean | False | Changes cooldowns to reflect the cooldowns of patrons. | | timeout | Integer | 5 | Timeout for waiting for responses from Dank Memer to commands that require user interaction (like pls search). |

    logging category

    Values in the logging category tell the program whether or not to log debug and warning messages. We would recommend having at least warning set to True. Fatal errors will be logged regardless of the configuration.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | debug | Boolean | True | Tells the program whether or not to log debug messages. | | warning | Boolean | True | Tells the program whether or not to log warning messages. |

    NOTE: Values in the logging category do not affect logging messages sent when the configuration file is being loaded and the token is being verified.

    Disclaimer

    This is a self-bot. Self-bots are against Discord's TOS. Automation of Dank Memer commands also breaks Dank Memer's rules. By using this program you acknowledge that I can take no responsibility for actions taken against you if you are caught.

    This being said, I believe the chance of being caught running this script is low, provided you take the appropriate measures. The only probable way you will be caught is if someone tries to send you a message and you don't respond.

    Stargazers repo roster for @didlly/grank

    Forkers repo roster for @didlly/grank

    Source code(tar.gz)
    Source code(zip)
    grank.zip(7.93 MB)
  • v1.5(Mar 19, 2022)

    Changes since last version

    • 🐍 Add command pls snakeeyes.
    • Revert back to custom yaml loader.

    Windows download

    Here

    README.md

    Show

    Grank

    Inspired by this repository. This is a WIP and there will be more functions added in the future. Special thanks to V4NSH4J for helping me solve lots of the problems I encountered.
    Discord

    Contents

    What is Grank?

    Grank is a feature-rich script that automatically grinds Dank Memer for you. It is inspired by dankgrinder. Since dankgrinder has been discontinued and the recommended fork has also been discontinued, I decided to make my own version from scratch in Python.

    Features

    • Supports multi-instancing.
    • Efficiently coded.
    • Smart - if the user doesn't have a required item to run a command like pls pm, it will buy the required item so long as there are sufficient funds in the user's wallet & bank.
    • Autotrade - the self-bot automates the acception of the trade on both the side of the trader and the trade receiver.
    • Typing indicator.
    • Detects special events like Dodge the fireball.
    • Custom commands.

    Supported commands

    • pls daily
    • pls beg
    • pls blackjack
    • pls crime
    • pls dig
    • pls fish
    • pls guess
    • pls highlow
    • pls hunt
    • pls lottery
    • pls postmeme
    • pls stream
    • pls search
    • pls snakeeyes
    • pls trivia

    Todo

    Visit this link for project updates.

    Getting Started

    Setting up the environment

    Windows

    Skip this and download the latest version of Grank from here

    macOS and Linux

    Unfortunately, I do not have access to a mac or Linux device, so you will have to run the program from the soure code.

    • Download and extract the latest version of Grank from here.
    • Navigate into the /src/ folder of Grank.
    • Download and extract the files of the latest version of pypy for your platform into the folder. Make sure the files are in the /src/ folder and not in a sub-folder, otherwise this will not work.
    • Download and save this file in that directory.
    • Open a command prompt in that directory.
    • Run the command pypy get-pip.py. If you changed the name of the file when you downloaded it, please replace get-pip.py with the new name.
    • Run the command pypy installer.py.

    Getting your Discord token and channel ID

    To use Grank, you will have to provide your Discord token and a channel ID. Don't worry - these details are never shared with anyone. It is best if only you and Dank Memer can send messages in the channel you get the ID of. This is to avoid confusion with other people's interactions.

    How do you get this information

    How to enter them

    Since Grank support multi-instancing, for every token you put in you will have to specify a channel_id. Open src/credentials.json. You should see a dictionary with two keys - tokens and channel_ids. As mentioned earlier, for every token you put in the list of tokens, you need to put a channel id in the list of channel ids. You can add as many entries as you want. The file has been filled in with a dummy layout so you know how to input your data.

    You are now ready to use the program. Run pypy main.py in a command promt in the /src/ directory to start the program (or if you are on Windows run main.exe). You do not have to have Discord open to run the program, so you can have the program running in the background while you do other things! Grank also supports multi-instancing, so you can run the program on different accounts at once!

    Config file

    The config.yml file is used to change the way the program runs.

    commands category

    Values in the commands category tell the program whether or not to run certain commands.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | daily | Boolean | True | Tells the program whether or not to run the command pls daily. | | beg | Boolean | True | Tells the program whether or not to run the command pls beg. | | crime | Boolean | True | Tells the program whether or not to run the command pls crime. | | dig | Boolean | True | Tells the program whether or not to run the command pls dig. | | fish | Boolean | True | Tells the program whether or not to run the command pls fish. | | guess | Boolean | True | Tells the program whether or not to run the command pls guess. | | hunt | Boolean | True | Tells the program whether or not to run the command pls hunt. | | search | Boolean | True | Tells the program whether or not to run the command pls search. | | highlow | Boolean | True | Tells the program whether or not to run the command pls highlow. | | postmeme | Boolean | True | Tells the program whether or not to run the command pls postmeme. | | trivia | Boolean | True | Tells the program whether or not to run the command pls trivia. |

    lottery category

    Values in the lottery category tell the program whether lottery tickets should be bought, and how often they should be bought.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to buy lottery tickets. | | cooldown | Integer | 3600 | Tells the program the interval between buying lottery tickets. |

    stream category

    Values in the stream category tell the program whether or not to run the command pls stream, and what buttons should it interact with.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | True | Tells the program whether or not to run the command pls stream`. | |ads|Boolean|True| Tells the program whether or not to collect run ads during the stream. | |chat|Boolean|True| Tells the program whether or not to read the chat during the stream. | |donations|Boolean|True``` | Tells the program whether or not to collect donations during the stream. |

    blackjack category

    Values in the blackjack category tell the program whether or not to run the command pls blackjack, and how much it should bet each time.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run the command pls blackjack`. | |random|Boolean|False| Tells the program whether or not to choose a random amount each time the command `pls blackjack` is run, or to choose a pre-set amount. | |amount|Integer|1500| The pre-set amount to be bet if `random` is set to `False`. | |minimum|Integer|1500| The minimum amount to be bet if `random` is set to `True`. | |maximum|Integer|3000``` | The maximum amount to be bet if random is set to True. |

    snakeeyes category

    Values in the snakeeyes category tell the program whether or not to run the command pls snakeeyes, and how much it should bet each time.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run the command pls snakeeyes`. | |random|Boolean|False| Tells the program whether or not to choose a random amount each time the command `pls snakeeyes` is run, or to choose a pre-set amount. | |amount|Integer|1500| The pre-set amount to be bet if `random` is set to `False`. | |minimum|Integer|1500| The minimum amount to be bet if `random` is set to `True`. | |maximum|Integer|3000``` | The maximum amount to be bet if random is set to True. |

    custom commands category

    Values in the custom commands category tell the program what custom commands should be run and their cooldowns.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run any of the custom commands. |

    NOTE: You can add your own custom commands by following the layout for the default options.

    shifts category

    Values in the shifts category tell the program whether or not to run Grank in shifts, and the length of active and passive phases.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run in shifts. | | active | Integer | 7200 | Tells the program how long the program should run before sleeping (in seconds). | | passive | Integer | 3600 | Tells the program how long the program should sleep before running again (in seconds). |

    auto buy category

    Values in the auto buy category tell the program whether or not to buy certain items if needed.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | True | If this is set to True no items will be bought. If it is set to False the program will try and buy the item if their respective config value is True. | | laptop | Boolean | True | Tells the program whether or not to try and buy the item laptop if needed and the user doesn't have it. | | shovel | Boolean | True | Tells the program whether or not to try and buy the item shovel if needed and the user doesn't have it. | | fishing pole | Boolean | True | Tells the program whether or not to try and buy the item fishing pole if needed and the user doesn't have it. | | hunting rifle | Boolean | True | Tells the program whether or not to try and buy the hunting rifle if needed and the user doesn't have it. | | keyboard | Boolean | True | Tells the program whether or not to try and buy the item keyboard if needed and the user doesn't have it. | | mouse | Boolean | True | Tells the program whether or not to try and buy the item mouse if needed and the user doesn't have it. |

    auto trade category

    Values in the auto trade category tell the program who items should be traded to, and what items should be traded.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | If this is set to True no items will be traded. If it is set to False the program will try and trade the item if their respective config value is True. | | trader_token | String | None | The token of the user the items should be traded to. | | bank note | Boolean | True | Tells the program whether or not to try and trade the item bank note to the user specified in the traderoption. | | tidepod | Boolean | True | Tells the program whether or not to try and trade the item tidepod to the user specified in the traderoption. |

    NOTE: You can add your own items to be traded by following the layout for the default options.

    typing indicator category

    Values in the typing indicator category tell the program whether to make Discord think the self-bot is typing, and for how long it should. This is just for aesthetics and I would recommend it to be off in private servers to increase command speed, and on in public servers to make the self-bot look more legitimate.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | If this is set to True, the program will make Discord think the self-bot is typing. If it is set to False the program will not make Discord think the self-bot is typing, thus increasing command speed. | | minimum | Float | 0 | The minimum time for the program to sleep after Discord is told that the user is typing. | | maximum | Float | 1 | The maximum time for the program to sleep after Discord is told that the user is typing. |

    cooldowns category

    Values in the cooldowns category tell the program whether to use cooldowns for patrons and what the timeout is for getting responses from Dank Memer.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | patron | Boolean | False | Changes cooldowns to reflect the cooldowns of patrons. | | timeout | Integer | 5 | Timeout for waiting for responses from Dank Memer to commands that require user interaction (like pls search). |

    logging category

    Values in the logging category tell the program whether or not to log debug and warning messages. We would recommend having at least warning set to True. Fatal errors will be logged regardless of the configuration.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | debug | Boolean | True | Tells the program whether or not to log debug messages. | | warning | Boolean | True | Tells the program whether or not to log warning messages. |

    NOTE: Values in the logging category do not affect logging messages sent when the configuration file is being loaded and the token is being verified.

    Disclaimer

    This is a self-bot. Self-bots are against Discord's TOS. Automation of Dank Memer commands also breaks Dank Memer's rules. By using this program you acknowledge that I can take no responsibility for actions taken against you if you are caught.

    This being said, I believe the chance of being caught running this script is low, provided you take the appropriate measures. The only probable way you will be caught is if someone tries to send you a message and you don't respond.

    Stargazers repo roster for @didlly/grank

    Forkers repo roster for @didlly/grank

    Source code(tar.gz)
    Source code(zip)
    grank.zip(7.93 MB)
  • v1.4(Mar 19, 2022)

    Changes since last version

    • Added database fixer incase it gets wiped.
    • Fix autobuy mechanism due to Dank Memer update.

    Windows download

    Here

    README.md

    Show

    Grank

    Inspired by this repository. This is a WIP and there will be more functions added in the future. Special thanks to V4NSH4J for helping me solve lots of the problems I encountered.
    Discord

    Contents

    What is Grank?

    Grank is a feature-rich script that automatically grinds Dank Memer for you. It is inspired by dankgrinder. Since dankgrinder has been discontinued and the recommended fork has also been discontinued, I decided to make my own version from scratch in Python.

    Features

    • Supports multi-instancing.
    • Efficiently coded.
    • Smart - if the user doesn't have a required item to run a command like pls pm, it will buy the required item so long as there are sufficient funds in the user's wallet & bank.
    • Autotrade - the self-bot automates the acception of the trade on both the side of the trader and the trade receiver.
    • Typing indicator.
    • Detects special events like Dodge the fireball.
    • Custom commands.

    Supported commands

    • pls daily
    • pls beg
    • pls blackjack
    • pls crime
    • pls dig
    • pls fish
    • pls guess
    • pls highlow
    • pls hunt
    • pls lottery
    • pls postmeme
    • pls stream
    • pls search
    • pls trivia

    Todo

    Visit this link for project updates.

    Getting Started

    Setting up the environment

    Windows

    Skip this and download the latest version of Grank from here

    macOS and Linux

    Unfortunately, I do not have access to a mac or Linux device, so you will have to run the program from the soure code.

    • Download and extract the latest version of Grank from here.
    • Navigate into the /src/ folder of Grank.
    • Download and extract the files of the latest version of pypy for your platform into the folder. Make sure the files are in the /src/ folder and not in a sub-folder, otherwise this will not work.
    • Download and save this file in that directory.
    • Open a command prompt in that directory.
    • Run the command pypy get-pip.py. If you changed the name of the file when you downloaded it, please replace get-pip.py with the new name.
    • Run the command pypy -m pip install -r requirements.txt.

    Getting your Discord token and channel ID

    To use Grank, you will have to provide your Discord token and a channel ID. Don't worry - these details are never shared with anyone. It is best if only you and Dank Memer can send messages in the channel you get the ID of. This is to avoid confusion with other people's interactions.

    How do you get this information

    How to enter them

    Since Grank support multi-instancing, for every token you put in you will have to specify a channel_id. Open src/credentials.json. You should see a dictionary with two keys - tokens and channel_ids. As mentioned earlier, for every token you put in the list of tokens, you need to put a channel id in the list of channel ids. You can add as many entries as you want. The file has been filled in with a dummy layout so you know how to input your data.

    You are now ready to use the program. Run pypy main.py in a command promt in the /src/ directory to start the program (or if you are on Windows run /src/main.exe). You do not have to have Discord open to run the program, so you can have the program running in the background while you do other things! Grank also supports multi-instancing, so you can run the program on different accounts at once!

    Config file

    The config.yml file is used to change the way the program runs.

    commands category

    Values in the commands category tell the program whether or not to run certain commands.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | daily | Boolean | True | Tells the program whether or not to run the command pls daily. | | beg | Boolean | True | Tells the program whether or not to run the command pls beg. | | crime | Boolean | True | Tells the program whether or not to run the command pls crime. | | dig | Boolean | True | Tells the program whether or not to run the command pls dig. | | fish | Boolean | True | Tells the program whether or not to run the command pls fish. | | guess | Boolean | True | Tells the program whether or not to run the command pls guess. | | hunt | Boolean | True | Tells the program whether or not to run the command pls hunt. | | search | Boolean | True | Tells the program whether or not to run the command pls search. | | highlow | Boolean | True | Tells the program whether or not to run the command pls highlow. | | postmeme | Boolean | True | Tells the program whether or not to run the command pls postmeme. | | trivia | Boolean | True | Tells the program whether or not to run the command pls trivia. |

    lottery category

    Values in the lottery category tell the program whether lottery tickets should be bought, and how often they should be bought.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to buy lottery tickets. | | cooldown | Integer | 3600 | Tells the program the interval between buying lottery tickets. |

    stream category

    Values in the stream category tell the program whether or not to run the command pls stream, and what buttons should it interact with.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | True | Tells the program whether or not to run the command pls stream`. | |ads|Boolean|True| Tells the program whether or not to collect run ads during the stream. | |chat|Boolean|True| Tells the program whether or not to read the chat during the stream. | |donations|Boolean|True``` | Tells the program whether or not to collect donations during the stream. |

    blackjack category

    Values in the blackjack category tell the program whether or not to run the command pls blackjack, and how much it should bet each time.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run the command pls blackjack`. | |random|Boolean|False| Tells the program whether or not to choose a random amount each time the command `pls blackjack` is run, or to choose a pre-set amount. | |amount|Integer|1500| The pre-set amount to be bet if `random` is set to `False`. | |minimum|Integer|1500| The minimum amount to be bet if `random` is set to `True`. | |maximum|Integer|3000``` | The maximum amount to be bet if random is set to True. |

    custom commands category

    Values in the custom commands category tell the program what custom commands should be run and their cooldowns.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run any of the custom commands. |

    NOTE: You can add your own custom commands by following the layout for the default options.

    shifts category

    Values in the shifts category tell the program whether or not to run Grank in shifts, and the length of active and passive phases.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run in shifts. | | active | Integer | 7200 | Tells the program how long the program should run before sleeping (in seconds). | | passive | Integer | 3600 | Tells the program how long the program should sleep before running again (in seconds). |

    auto buy category

    Values in the auto buy category tell the program whether or not to buy certain items if needed.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | True | If this is set to True no items will be bought. If it is set to False the program will try and buy the item if their respective config value is True. | | laptop | Boolean | True | Tells the program whether or not to try and buy the item laptop if needed and the user doesn't have it. | | shovel | Boolean | True | Tells the program whether or not to try and buy the item shovel if needed and the user doesn't have it. | | fishing pole | Boolean | True | Tells the program whether or not to try and buy the item fishing pole if needed and the user doesn't have it. | | hunting rifle | Boolean | True | Tells the program whether or not to try and buy the hunting rifle if needed and the user doesn't have it. | | keyboard | Boolean | True | Tells the program whether or not to try and buy the item keyboard if needed and the user doesn't have it. | | mouse | Boolean | True | Tells the program whether or not to try and buy the item mouse if needed and the user doesn't have it. |

    auto trade category

    Values in the auto trade category tell the program who items should be traded to, and what items should be traded.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | If this is set to True no items will be traded. If it is set to False the program will try and trade the item if their respective config value is True. | | trader_token | String | None | The token of the user the items should be traded to. | | bank note | Boolean | True | Tells the program whether or not to try and trade the item bank note to the user specified in the traderoption. | | tidepod | Boolean | True | Tells the program whether or not to try and trade the item tidepod to the user specified in the traderoption. |

    NOTE: You can add your own items to be traded by following the layout for the default options.

    typing indicator category

    Values in the typing indicator category tell the program whether to make Discord think the self-bot is typing, and for how long it should. This is just for aesthetics and I would recommend it to be off in private servers to increase command speed, and on in public servers to make the self-bot look more legitimate.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | If this is set to True, the program will make Discord think the self-bot is typing. If it is set to False the program will not make Discord think the self-bot is typing, thus increasing command speed. | | minimum | Float | 0 | The minimum time for the program to sleep after Discord is told that the user is typing. | | maximum | Float | 1 | The maximum time for the program to sleep after Discord is told that the user is typing. |

    cooldowns category

    Values in the cooldowns category tell the program whether to use cooldowns for patrons and what the timeout is for getting responses from Dank Memer.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | patron | Boolean | False | Changes cooldowns to reflect the cooldowns of patrons. | | timeout | Integer | 5 | Timeout for waiting for responses from Dank Memer to commands that require user interaction (like pls search). |

    logging category

    Values in the logging category tell the program whether or not to log debug and warning messages. We would recommend having at least warning set to True. Fatal errors will be logged regardless of the configuration.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | debug | Boolean | True | Tells the program whether or not to log debug messages. | | warning | Boolean | True | Tells the program whether or not to log warning messages. |

    NOTE: Values in the logging category do not affect logging messages sent when the configuration file is being loaded and the token is being verified.

    Disclaimer

    This is a self-bot. Self-bots are against Discord's TOS. Automation of Dank Memer commands also breaks Dank Memer's rules. By using this program you acknowledge that I can take no responsibility for actions taken against you if you are caught.

    This being said, I believe the chance of being caught running this script is low, provided you take the appropriate measures. The only probable way you will be caught is if someone tries to send you a message and you don't respond.

    Stargazers repo roster for @didlly/grank

    Forkers repo roster for @didlly/grank

    Source code(tar.gz)
    Source code(zip)
    grank.zip(7.97 MB)
  • v1.3(Mar 18, 2022)

    Changes since last version

    • Improved cooldown logic.
    • Fixed trivia database bug.

    Windows download

    Here

    README.md

    Show

    Grank

    Inspired by this repository. This is a WIP and there will be more functions added in the future. Special thanks to V4NSH4J for helping me solve lots of the problems I encountered.
    Discord

    Contents

    What is Grank?

    Grank is a feature-rich script that automatically grinds Dank Memer for you. It is inspired by dankgrinder. Since dankgrinder has been discontinued and the recommended fork has also been discontinued, I decided to make my own version from scratch in Python.

    Features

    • Supports multi-instancing.
    • Efficiently coded.
    • Smart - if the user doesn't have a required item to run a command like pls pm, it will buy the required item so long as there are sufficient funds in the user's wallet & bank.
    • Autotrade - the self-bot automates the acception of the trade on both the side of the trader and the trade receiver.
    • Typing indicator.
    • Detects special events like Dodge the fireball.
    • Custom commands.

    Supported commands

    • pls daily
    • pls beg
    • pls blackjack
    • pls crime
    • pls dig
    • pls fish
    • pls guess
    • pls highlow
    • pls hunt
    • pls lottery
    • pls postmeme
    • pls stream
    • pls search
    • pls trivia

    Todo

    Visit this link for project updates.

    Getting Started

    Setting up the environment

    Windows

    Skip this and download the latest version of Grank from here

    macOS and Linux

    Unfortunately, I do not have access to a mac or Linux device, so you will have to run the program from the soure code.

    • Download and extract the latest version of Grank from here.
    • Navigate into the /src/ folder of Grank.
    • Download and extract the files of the latest version of pypy for your platform into the folder. Make sure the files are in the /src/ folder and not in a sub-folder, otherwise this will not work.
    • Download and save this file in that directory.
    • Open a command prompt in that directory.
    • Run the command pypy get-pip.py. If you changed the name of the file when you downloaded it, please replace get-pip.py with the new name.
    • Run the command pypy -m pip install -r requirements.txt.

    Getting your Discord token and channel ID

    To use Grank, you will have to provide your Discord token and a channel ID. Don't worry - these details are never shared with anyone. It is best if only you and Dank Memer can send messages in the channel you get the ID of. This is to avoid confusion with other people's interactions.

    How do you get this information

    How to enter them

    Since Grank support multi-instancing, for every token you put in you will have to specify a channel_id. Open src/credentials.json. You should see a dictionary with two keys - tokens and channel_ids. As mentioned earlier, for every token you put in the list of tokens, you need to put a channel id in the list of channel ids. You can add as many entries as you want. The file has been filled in with a dummy layout so you know how to input your data.

    You are now ready to use the program. Run pypy main.py in a command promt in the /src/ directory to start the program (or if you are on Windows run /src/main.exe). You do not have to have Discord open to run the program, so you can have the program running in the background while you do other things! Grank also supports multi-instancing, so you can run the program on different accounts at once!

    Config file

    The config.yml file is used to change the way the program runs.

    commands category

    Values in the commands category tell the program whether or not to run certain commands.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | daily | Boolean | True | Tells the program whether or not to run the command pls daily. | | beg | Boolean | True | Tells the program whether or not to run the command pls beg. | | crime | Boolean | True | Tells the program whether or not to run the command pls crime. | | dig | Boolean | True | Tells the program whether or not to run the command pls dig. | | fish | Boolean | True | Tells the program whether or not to run the command pls fish. | | guess | Boolean | True | Tells the program whether or not to run the command pls guess. | | hunt | Boolean | True | Tells the program whether or not to run the command pls hunt. | | search | Boolean | True | Tells the program whether or not to run the command pls search. | | highlow | Boolean | True | Tells the program whether or not to run the command pls highlow. | | postmeme | Boolean | True | Tells the program whether or not to run the command pls postmeme. | | trivia | Boolean | True | Tells the program whether or not to run the command pls trivia. |

    lottery category

    Values in the lottery category tell the program whether lottery tickets should be bought, and how often they should be bought.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to buy lottery tickets. | | cooldown | Integer | 3600 | Tells the program the interval between buying lottery tickets. |

    stream category

    Values in the stream category tell the program whether or not to run the command pls stream, and what buttons should it interact with.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | True | Tells the program whether or not to run the command pls stream`. | |ads|Boolean|True| Tells the program whether or not to collect run ads during the stream. | |chat|Boolean|True| Tells the program whether or not to read the chat during the stream. | |donations|Boolean|True``` | Tells the program whether or not to collect donations during the stream. |

    blackjack category

    Values in the blackjack category tell the program whether or not to run the command pls blackjack, and how much it should bet each time.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run the command pls blackjack`. | |random|Boolean|False| Tells the program whether or not to choose a random amount each time the command `pls blackjack` is run, or to choose a pre-set amount. | |amount|Integer|1500| The pre-set amount to be bet if `random` is set to `False`. | |minimum|Integer|1500| The minimum amount to be bet if `random` is set to `True`. | |maximum|Integer|3000``` | The maximum amount to be bet if random is set to True. |

    custom commands category

    Values in the custom commands category tell the program what custom commands should be run and their cooldowns.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run any of the custom commands. |

    NOTE: You can add your own custom commands by following the layout for the default options.

    shifts category

    Values in the shifts category tell the program whether or not to run Grank in shifts, and the length of active and passive phases.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run in shifts. | | active | Integer | 7200 | Tells the program how long the program should run before sleeping (in seconds). | | passive | Integer | 3600 | Tells the program how long the program should sleep before running again (in seconds). |

    auto buy category

    Values in the auto buy category tell the program whether or not to buy certain items if needed.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | True | If this is set to True no items will be bought. If it is set to False the program will try and buy the item if their respective config value is True. | | laptop | Boolean | True | Tells the program whether or not to try and buy the item laptop if needed and the user doesn't have it. | | shovel | Boolean | True | Tells the program whether or not to try and buy the item shovel if needed and the user doesn't have it. | | fishing pole | Boolean | True | Tells the program whether or not to try and buy the item fishing pole if needed and the user doesn't have it. | | hunting rifle | Boolean | True | Tells the program whether or not to try and buy the hunting rifle if needed and the user doesn't have it. | | keyboard | Boolean | True | Tells the program whether or not to try and buy the item keyboard if needed and the user doesn't have it. | | mouse | Boolean | True | Tells the program whether or not to try and buy the item mouse if needed and the user doesn't have it. |

    auto trade category

    Values in the auto trade category tell the program who items should be traded to, and what items should be traded.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | If this is set to True no items will be traded. If it is set to False the program will try and trade the item if their respective config value is True. | | trader_token | String | None | The token of the user the items should be traded to. | | bank note | Boolean | True | Tells the program whether or not to try and trade the item bank note to the user specified in the traderoption. | | tidepod | Boolean | True | Tells the program whether or not to try and trade the item tidepod to the user specified in the traderoption. |

    NOTE: You can add your own items to be traded by following the layout for the default options.

    typing indicator category

    Values in the typing indicator category tell the program whether to make Discord think the self-bot is typing, and for how long it should. This is just for aesthetics and I would recommend it to be off in private servers to increase command speed, and on in public servers to make the self-bot look more legitimate.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | If this is set to True, the program will make Discord think the self-bot is typing. If it is set to False the program will not make Discord think the self-bot is typing, thus increasing command speed. | | minimum | Float | 0 | The minimum time for the program to sleep after Discord is told that the user is typing. | | maximum | Float | 1 | The maximum time for the program to sleep after Discord is told that the user is typing. |

    cooldowns category

    Values in the cooldowns category tell the program whether to use cooldowns for patrons and what the timeout is for getting responses from Dank Memer.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | patron | Boolean | False | Changes cooldowns to reflect the cooldowns of patrons. | | timeout | Integer | 5 | Timeout for waiting for responses from Dank Memer to commands that require user interaction (like pls search). |

    logging category

    Values in the logging category tell the program whether or not to log debug and warning messages. We would recommend having at least warning set to True. Fatal errors will be logged regardless of the configuration.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | debug | Boolean | True | Tells the program whether or not to log debug messages. | | warning | Boolean | True | Tells the program whether or not to log warning messages. |

    NOTE: Values in the logging category do not affect logging messages sent when the configuration file is being loaded and the token is being verified.

    Disclaimer

    This is a self-bot. Self-bots are against Discord's TOS. Automation of Dank Memer commands also breaks Dank Memer's rules. By using this program you acknowledge that I can take no responsibility for actions taken against you if you are caught.

    This being said, I believe the chance of being caught running this script is low, provided you take the appropriate measures. The only probable way you will be caught is if someone tries to send you a message and you don't respond.

    Stargazers repo roster for @didlly/grank

    Forkers repo roster for @didlly/grank

    Source code(tar.gz)
    Source code(zip)
    grank.zip(7.97 MB)
  • v1.2(Mar 17, 2022)

    Changes since last version

    • Improved pls bj cooldown logic.
    • Made installing Grank easier.

    Windows download

    Here

    Readme.md

    Show

    Grank

    Inspired by this repository. This is a WIP and there will be more functions added in the future. Special thanks to V4NSH4J for helping me solve lots of the problems I encountered.
    Discord

    Contents

    What is Grank?

    Grank is a feature-rich script that automatically grinds Dank Memer for you. It is inspired by dankgrinder. Since dankgrinder has been discontinued and the recommended fork has also been discontinued, I decided to make my own version from scratch in Python.

    Features

    • Supports multi-instancing.
    • Efficiently coded.
    • Smart - if the user doesn't have a required item to run a command like pls pm, it will buy the required item so long as there are sufficient funds in the user's wallet & bank.
    • Autotrade - the self-bot automates the acception of the trade on both the side of the trader and the trade receiver.
    • Typing indicator.
    • Detects special events like Dodge the fireball.
    • Custom commands.

    Supported commands

    • pls daily
    • pls beg
    • pls blackjack
    • pls crime
    • pls dig
    • pls fish
    • pls guess
    • pls highlow
    • pls hunt
    • pls lottery
    • pls postmeme
    • pls stream
    • pls search
    • pls trivia

    Todo

    Visit this link for project updates.

    Getting Started

    Setting up the environment

    Windows

    Skip this and download the latest version of Grank from here

    macOS and Linux

    Unfortunately, I do not have access to a mac or Linux device, so you will have to run the program from the soure code.

    • Download and extract the latest version of Grank from here.
    • Navigate into the /src/ folder of Grank.
    • Download and extract the files of the latest version of pypy for your platform into the folder. Make sure the files are in the /src/ folder and not in a sub-folder, otherwise this will not work.
    • Download and save this file in that directory.
    • Open a command prompt in that directory.
    • Run the command pypy get-pip.py. If you changed the name of the file when you downloaded it, please replace get-pip.py with the new name.
    • Run the command pypy installer.py.

    Getting your Discord token and channel ID

    To use Grank, you will have to provide your Discord token and a channel ID. Don't worry - these details are never shared with anyone. It is best if only you and Dank Memer can send messages in the channel you get the ID of. This is to avoid confusion with other people's interactions.

    How do you get this information

    How to enter them

    Since Grank support multi-instancing, for every token you put in you will have to specify a channel_id. Open src/credentials.json. You should see a dictionary with two keys - tokens and channel_ids. As mentioned earlier, for every token you put in the list of tokens, you need to put a channel id in the list of channel ids. You can add as many entries as you want. The file has been filled in with a dummy layout so you know how to input your data.

    You are now ready to use the program. Run pypy main.py in a command promt in the /src/ directory to start the program (or if you are on Windows run main.exe). You do not have to have Discord open to run the program, so you can have the program running in the background while you do other things! Grank also supports multi-instancing, so you can run the program on different accounts at once!

    Config file

    The config.yml file is used to change the way the program runs.

    commands category

    Values in the commands category tell the program whether or not to run certain commands.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | daily | Boolean | True | Tells the program whether or not to run the command pls daily. | | beg | Boolean | True | Tells the program whether or not to run the command pls beg. | | crime | Boolean | True | Tells the program whether or not to run the command pls crime. | | dig | Boolean | True | Tells the program whether or not to run the command pls dig. | | fish | Boolean | True | Tells the program whether or not to run the command pls fish. | | guess | Boolean | True | Tells the program whether or not to run the command pls guess. | | hunt | Boolean | True | Tells the program whether or not to run the command pls hunt. | | search | Boolean | True | Tells the program whether or not to run the command pls search. | | highlow | Boolean | True | Tells the program whether or not to run the command pls highlow. | | postmeme | Boolean | True | Tells the program whether or not to run the command pls postmeme. | | trivia | Boolean | True | Tells the program whether or not to run the command pls trivia. |

    lottery category

    Values in the lottery category tell the program whether lottery tickets should be bought, and how often they should be bought.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to buy lottery tickets. | | cooldown | Integer | 3600 | Tells the program the interval between buying lottery tickets. |

    stream category

    Values in the stream category tell the program whether or not to run the command pls stream, and what buttons should it interact with.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | True | Tells the program whether or not to run the command pls stream`. | |ads|Boolean|True| Tells the program whether or not to collect run ads during the stream. | |chat|Boolean|True| Tells the program whether or not to read the chat during the stream. | |donations|Boolean|True``` | Tells the program whether or not to collect donations during the stream. |

    blackjack category

    Values in the blackjack category tell the program whether or not to run the command pls blackjack, and how much it should bet each time.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run the command pls blackjack`. | |random|Boolean|False| Tells the program whether or not to choose a random amount each time the command `pls blackjack` is run, or to choose a pre-set amount. | |amount|Integer|1500| The pre-set amount to be bet if `random` is set to `False`. | |minimum|Integer|1500| The minimum amount to be bet if `random` is set to `True`. | |maximum|Integer|3000``` | The maximum amount to be bet if random is set to True. |

    custom commands category

    Values in the custom commands category tell the program what custom commands should be run and their cooldowns.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run any of the custom commands. |

    NOTE: You can add your own custom commands by following the layout for the default options.

    shifts category

    Values in the shifts category tell the program whether or not to run Grank in shifts, and the length of active and passive phases.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run in shifts. | | active | Integer | 7200 | Tells the program how long the program should run before sleeping (in seconds). | | passive | Integer | 3600 | Tells the program how long the program should sleep before running again (in seconds). |

    auto buy category

    Values in the auto buy category tell the program whether or not to buy certain items if needed.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | True | If this is set to True no items will be bought. If it is set to False the program will try and buy the item if their respective config value is True. | | laptop | Boolean | True | Tells the program whether or not to try and buy the item laptop if needed and the user doesn't have it. | | shovel | Boolean | True | Tells the program whether or not to try and buy the item shovel if needed and the user doesn't have it. | | fishing pole | Boolean | True | Tells the program whether or not to try and buy the item fishing pole if needed and the user doesn't have it. | | hunting rifle | Boolean | True | Tells the program whether or not to try and buy the hunting rifle if needed and the user doesn't have it. | | keyboard | Boolean | True | Tells the program whether or not to try and buy the item keyboard if needed and the user doesn't have it. | | mouse | Boolean | True | Tells the program whether or not to try and buy the item mouse if needed and the user doesn't have it. |

    auto trade category

    Values in the auto trade category tell the program who items should be traded to, and what items should be traded.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | If this is set to True no items will be traded. If it is set to False the program will try and trade the item if their respective config value is True. | | trader_token | String | None | The token of the user the items should be traded to. | | bank note | Boolean | True | Tells the program whether or not to try and trade the item bank note to the user specified in the traderoption. | | tidepod | Boolean | True | Tells the program whether or not to try and trade the item tidepod to the user specified in the traderoption. |

    NOTE: You can add your own items to be traded by following the layout for the default options.

    typing indicator category

    Values in the typing indicator category tell the program whether to make Discord think the self-bot is typing, and for how long it should. This is just for aesthetics and I would recommend it to be off in private servers to increase command speed, and on in public servers to make the self-bot look more legitimate.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | If this is set to True, the program will make Discord think the self-bot is typing. If it is set to False the program will not make Discord think the self-bot is typing, thus increasing command speed. | | minimum | Float | 0 | The minimum time for the program to sleep after Discord is told that the user is typing. | | maximum | Float | 1 | The maximum time for the program to sleep after Discord is told that the user is typing. |

    cooldowns category

    Values in the cooldowns category tell the program whether to use cooldowns for patrons and what the timeout is for getting responses from Dank Memer.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | patron | Boolean | False | Changes cooldowns to reflect the cooldowns of patrons. | | timeout | Integer | 5 | Timeout for waiting for responses from Dank Memer to commands that require user interaction (like pls search). |

    logging category

    Values in the logging category tell the program whether or not to log debug and warning messages. We would recommend having at least warning set to True. Fatal errors will be logged regardless of the configuration.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | debug | Boolean | True | Tells the program whether or not to log debug messages. | | warning | Boolean | True | Tells the program whether or not to log warning messages. |

    NOTE: Values in the logging category do not affect logging messages sent when the configuration file is being loaded and the token is being verified.

    Disclaimer

    This is a self-bot. Self-bots are against Discord's TOS. Automation of Dank Memer commands also breaks Dank Memer's rules. By using this program you acknowledge that I can take no responsibility for actions taken against you if you are caught.

    This being said, I believe the chance of being caught running this script is low, provided you take the appropriate measures. The only probable way you will be caught is if someone tries to send you a message and you don't respond.

    Stargazers repo roster for @didlly/grank

    Forkers repo roster for @didlly/grank

    Source code(tar.gz)
    Source code(zip)
    grank.zip(7.97 MB)
  • v1.1(Mar 16, 2022)

    Changes since last version

    • Improved pls bj logic.
    • Made Grank not spam pls trivia (due to cooldowns).

    Windows download

    Here

    README.md

    Show

    Grank

    Inspired by this repository. This is a WIP and there will be more functions added in the future. Special thanks to V4NSH4J for helping me solve lots of the problems I encountered.
    Discord

    Contents

    What is Grank?

    Grank is a feature-rich script that automatically grinds Dank Memer for you. It is inspired by dankgrinder. Since dankgrinder has been discontinued and the recommended fork has also been discontinued, I decided to make my own version from scratch in Python.

    Features

    • Supports multi-instancing.
    • Efficiently coded.
    • Smart - if the user doesn't have a required item to run a command like pls pm, it will buy the required item so long as there are sufficient funds in the user's wallet & bank.
    • Autotrade - the self-bot automates the acception of the trade on both the side of the trader and the trade receiver.
    • Typing indicator.
    • Detects special events like Dodge the fireball.
    • Custom commands.

    Supported commands

    • pls daily
    • pls beg
    • pls blackjack
    • pls crime
    • pls dig
    • pls fish
    • pls guess
    • pls highlow
    • pls hunt
    • pls lottery
    • pls postmeme
    • pls stream
    • pls search
    • pls trivia

    Todo

    Visit this link for project updates.

    Getting Started

    Setting up the environment

    Windows

    Skip this and download the latest version of Grank from here

    macOS and Linux

    Unfortunately, I do not have access to a mac or Linux device, so you will have to run the program from the soure code.

    • Download and extract the latest version of Grank from here.
    • Navigate into the /src/ folder of Grank.
    • Download and extract the files of the latest version of pypy for your platform into the folder. Make sure the files are in the /src/ folder and not in a sub-folder, otherwise this will not work.
    • Download and save this file in that directory.
    • Open a command prompt in that directory.
    • Run the command pypy get-pip.py. If you changed the name of the file when you downloaded it, please replace get-pip.py with the new name.
    • Run the command pypy -m pip install -r requirements.txt.

    Getting your Discord token and channel ID

    To use Grank, you will have to provide your Discord token and a channel ID. Don't worry - these details are never shared with anyone. It is best if only you and Dank Memer can send messages in the channel you get the ID of. This is to avoid confusion with other people's interactions.

    How do you get this information

    How to enter them

    Since Grank support multi-instancing, for every token you put in you will have to specify a channel_id. Open src/credentials.json. You should see a dictionary with two keys - tokens and channel_ids. As mentioned earlier, for every token you put in the list of tokens, you need to put a channel id in the list of channel ids. You can add as many entries as you want. The file has been filled in with a dummy layout so you know how to input your data.

    You are now ready to use the program. Run pypy main.py in a command promt in the /src/ directory to start the program (or if you are on Windows run /src/main.exe). You do not have to have Discord open to run the program, so you can have the program running in the background while you do other things! Grank also supports multi-instancing, so you can run the program on different accounts at once!

    Config file

    The config.yml file is used to change the way the program runs.

    commands category

    Values in the commands category tell the program whether or not to run certain commands.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | daily | Boolean | True | Tells the program whether or not to run the command pls daily. | | beg | Boolean | True | Tells the program whether or not to run the command pls beg. | | crime | Boolean | True | Tells the program whether or not to run the command pls crime. | | dig | Boolean | True | Tells the program whether or not to run the command pls dig. | | fish | Boolean | True | Tells the program whether or not to run the command pls fish. | | guess | Boolean | True | Tells the program whether or not to run the command pls guess. | | hunt | Boolean | True | Tells the program whether or not to run the command pls hunt. | | search | Boolean | True | Tells the program whether or not to run the command pls search. | | highlow | Boolean | True | Tells the program whether or not to run the command pls highlow. | | postmeme | Boolean | True | Tells the program whether or not to run the command pls postmeme. | | trivia | Boolean | True | Tells the program whether or not to run the command pls trivia. |

    lottery category

    Values in the lottery category tell the program whether lottery tickets should be bought, and how often they should be bought.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to buy lottery tickets. | | cooldown | Integer | 3600 | Tells the program the interval between buying lottery tickets. |

    stream category

    Values in the stream category tell the program whether or not to run the command pls stream, and what buttons should it interact with.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | True | Tells the program whether or not to run the command pls stream`. | |ads|Boolean|True| Tells the program whether or not to collect run ads during the stream. | |chat|Boolean|True| Tells the program whether or not to read the chat during the stream. | |donations|Boolean|True``` | Tells the program whether or not to collect donations during the stream. |

    blackjack category

    Values in the blackjack category tell the program whether or not to run the command pls blackjack, and how much it should bet each time.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run the command pls blackjack`. | |random|Boolean|False| Tells the program whether or not to choose a random amount each time the command `pls blackjack` is run, or to choose a pre-set amount. | |amount|Integer|1500| The pre-set amount to be bet if `random` is set to `False`. | |minimum|Integer|1500| The minimum amount to be bet if `random` is set to `True`. | |maximum|Integer|3000``` | The maximum amount to be bet if random is set to True. |

    custom commands category

    Values in the custom commands category tell the program what custom commands should be run and their cooldowns.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run any of the custom commands. |

    NOTE: You can add your own custom commands by following the layout for the default options.

    shifts category

    Values in the shifts category tell the program whether or not to run Grank in shifts, and the length of active and passive phases.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run in shifts. | | active | Integer | 7200 | Tells the program how long the program should run before sleeping (in seconds). | | passive | Integer | 3600 | Tells the program how long the program should sleep before running again (in seconds). |

    auto buy category

    Values in the auto buy category tell the program whether or not to buy certain items if needed.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | True | If this is set to True no items will be bought. If it is set to False the program will try and buy the item if their respective config value is True. | | laptop | Boolean | True | Tells the program whether or not to try and buy the item laptop if needed and the user doesn't have it. | | shovel | Boolean | True | Tells the program whether or not to try and buy the item shovel if needed and the user doesn't have it. | | fishing pole | Boolean | True | Tells the program whether or not to try and buy the item fishing pole if needed and the user doesn't have it. | | hunting rifle | Boolean | True | Tells the program whether or not to try and buy the hunting rifle if needed and the user doesn't have it. | | keyboard | Boolean | True | Tells the program whether or not to try and buy the item keyboard if needed and the user doesn't have it. | | mouse | Boolean | True | Tells the program whether or not to try and buy the item mouse if needed and the user doesn't have it. |

    auto trade category

    Values in the auto trade category tell the program who items should be traded to, and what items should be traded.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | If this is set to True no items will be traded. If it is set to False the program will try and trade the item if their respective config value is True. | | trader_token | String | None | The token of the user the items should be traded to. | | bank note | Boolean | True | Tells the program whether or not to try and trade the item bank note to the user specified in the traderoption. | | tidepod | Boolean | True | Tells the program whether or not to try and trade the item tidepod to the user specified in the traderoption. |

    NOTE: You can add your own items to be traded by following the layout for the default options.

    typing indicator category

    Values in the typing indicator category tell the program whether to make Discord think the self-bot is typing, and for how long it should. This is just for aesthetics and I would recommend it to be off in private servers to increase command speed, and on in public servers to make the self-bot look more legitimate.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | If this is set to True, the program will make Discord think the self-bot is typing. If it is set to False the program will not make Discord think the self-bot is typing, thus increasing command speed. | | minimum | Float | 0 | The minimum time for the program to sleep after Discord is told that the user is typing. | | maximum | Float | 1 | The maximum time for the program to sleep after Discord is told that the user is typing. |

    cooldowns category

    Values in the cooldowns category tell the program whether to use cooldowns for patrons and what the timeout is for getting responses from Dank Memer.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | patron | Boolean | False | Changes cooldowns to reflect the cooldowns of patrons. | | timeout | Integer | 5 | Timeout for waiting for responses from Dank Memer to commands that require user interaction (like pls search). |

    logging category

    Values in the logging category tell the program whether or not to log debug and warning messages. We would recommend having at least warning set to True. Fatal errors will be logged regardless of the configuration.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | debug | Boolean | True | Tells the program whether or not to log debug messages. | | warning | Boolean | True | Tells the program whether or not to log warning messages. |

    NOTE: Values in the logging category do not affect logging messages sent when the configuration file is being loaded and the token is being verified.

    Disclaimer

    This is a self-bot. Self-bots are against Discord's TOS. Automation of Dank Memer commands also breaks Dank Memer's rules. By using this program you acknowledge that I can take no responsibility for actions taken against you if you are caught.

    This being said, I believe the chance of being caught running this script is low, provided you take the appropriate measures. The only probable way you will be caught is if someone tries to send you a message and you don't respond.

    Stargazers repo roster for @didlly/grank

    Forkers repo roster for @didlly/grank

    Source code(tar.gz)
    Source code(zip)
    grank.zip(7.97 MB)
  • v1(Mar 15, 2022)

    Changes since last version

    • Added command pls blackjack.
    • Added channel Id verifier.

    Windows download

    Here

    README.md

    Show

    Grank

    Inspired by this repository. This is a WIP and there will be more functions added in the future. Special thanks to V4NSH4J for helping me solve lots of the problems I encountered.
    Discord

    Contents

    What is Grank?

    Grank is a feature-rich script that automatically grinds Dank Memer for you. It is inspired by dankgrinder. Since dankgrinder has been discontinued and the recommended fork has also been discontinued, I decided to make my own version from scratch in Python.

    Features

    • Supports multi-instancing.
    • Efficiently coded.
    • Smart - if the user doesn't have a required item to run a command like pls pm, it will buy the required item so long as there are sufficient funds in the user's wallet & bank.
    • Autotrade - the self-bot automates the acception of the trade on both the side of the trader and the trade receiver.
    • Typing indicator.
    • Detects special events like Dodge the fireball.
    • Custom commands.

    Supported commands

    • pls daily
    • pls beg
    • pls blackjack
    • pls crime
    • pls dig
    • pls fish
    • pls guess
    • pls highlow
    • pls hunt
    • pls lottery
    • pls postmeme
    • pls stream
    • pls search
    • pls trivia

    Todo

    Visit this link for project updates.

    Getting Started

    Setting up the environment

    Windows

    Skip this and download the latest version of Grank from here

    macOS and Linux

    Unfortunately, I do not have access to a mac or Linux device, so you will have to run the program from the soure code.

    • Download and extract the latest version of Grank from here.
    • Navigate into the /src/ folder of Grank.
    • Download and extract the files of the latest version of pypy for your platform into the folder. Make sure the files are in the /src/ folder and not in a sub-folder, otherwise this will not work.
    • Download and save this file in that directory.
    • Open a command prompt in that directory.
    • Run the command pypy get-pip.py. If you changed the name of the file when you downloaded it, please replace get-pip.py with the new name.
    • Run the command pypy -m pip install -r requirements.txt.

    Getting your Discord token and channel ID

    To use Grank, you will have to provide your Discord token and a channel ID. Don't worry - these details are never shared with anyone. It is best if only you and Dank Memer can send messages in the channel you get the ID of. This is to avoid confusion with other people's interactions.

    How do you get this information

    How to enter them

    Since Grank support multi-instancing, for every token you put in you will have to specify a channel_id. Open src/credentials.json. You should see a dictionary with two keys - tokens and channel_ids. As mentioned earlier, for every token you put in the list of tokens, you need to put a channel id in the list of channel ids. You can add as many entries as you want. The file has been filled in with a dummy layout so you know how to input your data.

    You are now ready to use the program. Run pypy main.py in a command promt in the /src/ directory to start the program (or if you are on Windows run /src/main.exe). You do not have to have Discord open to run the program, so you can have the program running in the background while you do other things! Grank also supports multi-instancing, so you can run the program on different accounts at once!

    Config file

    The config.yml file is used to change the way the program runs.

    commands category

    Values in the commands category tell the program whether or not to run certain commands.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | daily | Boolean | True | Tells the program whether or not to run the command pls daily. | | beg | Boolean | True | Tells the program whether or not to run the command pls beg. | | crime | Boolean | True | Tells the program whether or not to run the command pls crime. | | dig | Boolean | True | Tells the program whether or not to run the command pls dig. | | fish | Boolean | True | Tells the program whether or not to run the command pls fish. | | guess | Boolean | True | Tells the program whether or not to run the command pls guess. | | hunt | Boolean | True | Tells the program whether or not to run the command pls hunt. | | search | Boolean | True | Tells the program whether or not to run the command pls search. | | highlow | Boolean | True | Tells the program whether or not to run the command pls highlow. | | postmeme | Boolean | True | Tells the program whether or not to run the command pls postmeme. | | trivia | Boolean | True | Tells the program whether or not to run the command pls trivia. |

    lottery category

    Values in the lottery category tell the program whether lottery tickets should be bought, and how often they should be bought.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to buy lottery tickets. | | cooldown | Integer | 3600 | Tells the program the interval between buying lottery tickets. |

    stream category

    Values in the stream category tell the program whether or not to run the command pls stream, and what buttons should it interact with.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | True | Tells the program whether or not to run the command pls stream`. | |ads|Boolean|True| Tells the program whether or not to collect run ads during the stream. | |chat|Boolean|True| Tells the program whether or not to read the chat during the stream. | |donations|Boolean|True``` | Tells the program whether or not to collect donations during the stream. |

    blackjack category

    Values in the blackjack category tell the program whether or not to run the command pls blackjack, and how much it should bet each time.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run the command pls blackjack`. | |random|Boolean|False| Tells the program whether or not to choose a random amount each time the command `pls blackjack` is run, or to choose a pre-set amount. | |amount|Integer|1500| The pre-set amount to be bet if `random` is set to `False`. | |minimum|Integer|1500| The minimum amount to be bet if `random` is set to `True`. | |maximum|Integer|3000``` | The maximum amount to be bet if random is set to True. |

    custom commands category

    Values in the custom commands category tell the program what custom commands should be run and their cooldowns.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run any of the custom commands. |

    NOTE: You can add your own custom commands by following the layout for the default options.

    shifts category

    Values in the shifts category tell the program whether or not to run Grank in shifts, and the length of active and passive phases.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | Tells the program whether or not to run in shifts. | | active | Integer | 7200 | Tells the program how long the program should run before sleeping (in seconds). | | passive | Integer | 3600 | Tells the program how long the program should sleep before running again (in seconds). |

    auto buy category

    Values in the auto buy category tell the program whether or not to buy certain items if needed.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | True | If this is set to True no items will be bought. If it is set to False the program will try and buy the item if their respective config value is True. | | laptop | Boolean | True | Tells the program whether or not to try and buy the item laptop if needed and the user doesn't have it. | | shovel | Boolean | True | Tells the program whether or not to try and buy the item shovel if needed and the user doesn't have it. | | fishing pole | Boolean | True | Tells the program whether or not to try and buy the item fishing pole if needed and the user doesn't have it. | | hunting rifle | Boolean | True | Tells the program whether or not to try and buy the hunting rifle if needed and the user doesn't have it. | | keyboard | Boolean | True | Tells the program whether or not to try and buy the item keyboard if needed and the user doesn't have it. | | mouse | Boolean | True | Tells the program whether or not to try and buy the item mouse if needed and the user doesn't have it. |

    auto trade category

    Values in the auto trade category tell the program who items should be traded to, and what items should be traded.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | If this is set to True no items will be traded. If it is set to False the program will try and trade the item if their respective config value is True. | | trader_token | String | None | The token of the user the items should be traded to. | | bank note | Boolean | True | Tells the program whether or not to try and trade the item bank note to the user specified in the traderoption. | | tidepod | Boolean | True | Tells the program whether or not to try and trade the item tidepod to the user specified in the traderoption. |

    NOTE: You can add your own items to be traded by following the layout for the default options.

    typing indicator category

    Values in the typing indicator category tell the program whether to make Discord think the self-bot is typing, and for how long it should. This is just for aesthetics and I would recommend it to be off in private servers to increase command speed, and on in public servers to make the self-bot look more legitimate.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | enabled | Boolean | False | If this is set to True, the program will make Discord think the self-bot is typing. If it is set to False the program will not make Discord think the self-bot is typing, thus increasing command speed. | | minimum | Float | 0 | The minimum time for the program to sleep after Discord is told that the user is typing. | | maximum | Float | 1 | The maximum time for the program to sleep after Discord is told that the user is typing. |

    cooldowns category

    Values in the cooldowns category tell the program whether to use cooldowns for patrons and what the timeout is for getting responses from Dank Memer.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | patron | Boolean | False | Changes cooldowns to reflect the cooldowns of patrons. | | timeout | Integer | 5 | Timeout for waiting for responses from Dank Memer to commands that require user interaction (like pls search). |

    logging category

    Values in the logging category tell the program whether or not to log debug and warning messages. We would recommend having at least warning set to True. Fatal errors will be logged regardless of the configuration.

    | Name | Type | Default Value | Description | | ------------- | ------------- | ------------- | ------------- | | debug | Boolean | True | Tells the program whether or not to log debug messages. | | warning | Boolean | True | Tells the program whether or not to log warning messages. |

    NOTE: Values in the logging category do not affect logging messages sent when the configuration file is being loaded and the token is being verified.

    Disclaimer

    This is a self-bot. Self-bots are against Discord's TOS. Automation of Dank Memer commands also breaks Dank Memer's rules. By using this program you acknowledge that I can take no responsibility for actions taken against you if you are caught.

    This being said, I believe the chance of being caught running this script is low, provided you take the appropriate measures. The only probable way you will be caught is if someone tries to send you a message and you don't respond.

    Stargazers repo roster for @didlly/grank

    Forkers repo roster for @didlly/grank

    Source code(tar.gz)
    Source code(zip)
Owner
Knows to code in Python, PHP & C#.
Analyze metadata of your Python project.

Analyze metadata of your Python projects Setup: Clone repo py-m venv venv (venv) pip install -r requirements.txt specify the folders which you want to

Pedro Monteiro de Carvalho e Silva Prado 1 Nov 10, 2021
A fast Python implementation of Ac Auto Mechine

A fast Python implementation of Ac Auto Mechine

Jin Zitian 1 Dec 07, 2021
Hide new MacBook Pro notch with black wallpaper.

Hide new MacBook Pro notch with black wallpaper.

Wang Chao 1 Oct 27, 2021
Export watched content from Tautulli to the Letterboxd CSV Import Format

Export watched content from Tautulli to the Letterboxd CSV Import Format

Evan J 5 Aug 31, 2022
Handy Tool to check the availability of onion site and to extract the title of submitted onion links.

This tool helps is to quickly investigate a huge set of onion sites based by checking its availability which helps to filter out the inactive sites and collect the site title that might helps us to c

Balaji 13 Nov 25, 2022
Bounding Boxes Python Utils

Bounding Boxes Python Utils

Vadim 4 May 01, 2022
An extremely simple package with a single utillity class used for gracefully handling POSIX shutdown signals.

graceful-killer An extremely simple package with a single utillity class used for gracefully handling POSIX shutdown signals. Installation Use pip to

Sven Ćurković 1 Dec 09, 2021
Create powerful passwords easily and with many options with this program

Password_Generator About the Program: You can create powerful passwords with this program with many options easily! Features: You can copy the generat

Sina.f 0 Jul 14, 2022
A program will generate a eth key pair that has the public key that starts with a defined amount of 0

ETHAdressGenerator This short program will generate a eth key pair that has the public key that starts with a defined amount of 0 Requirements Python

3 Nov 19, 2021
Runes - Simple Cookies You Can Extend (similar to Macaroons)

Runes - Simple Cookies You Can Extend (similar to Macaroons) is a paper called "Macaroons: Cookies with Context

Rusty Russell 22 Dec 11, 2022
Pass arguments by reference—in Python!

byref Pass arguments by reference—in Python! byrefis a decorator that allows Python functions to declare reference parameters, with similar semantics

9 Feb 10, 2022
A collection of custom scripts for working with Quake assets.

Custom Quake Tools A collection of custom scripts for working with Quake assets. Features Script to list all BSP files in a Quake mod

Jason Brownlee 3 Jul 05, 2022
A python mathematics module

A python mathematics module

Fayas Noushad 4 Nov 28, 2021
Color box that provides various colors‘ rgb decimal code.

colorbox Color box that provides various colors‘ rgb decimal code

1 Dec 07, 2021
Check username

Checker-Oukee Check username It checks the available usernames and creates a new account for them Doesn't need proxies Create a file with usernames an

4 Jun 05, 2022
.bvh to .mcfunction file converter.

bvh-to-mcf .bvh file to .mcfunction converter

Hanmin Kim 28 Nov 21, 2022
Creates a C array from a hex-string or a stream of binary data.

hex2array-c Creates a C array from a hex-string. Usage Usage: python3 hex2array_c.py HEX_STRING [-h|--help] Use '-' to read the hex string from STDIN.

John Doe 3 Nov 24, 2022
A way to write regex with objects instead of strings.

Py Idiomatic Regex (AKA iregex) Documentation Available Here An easier way to write regex in Python using OOP instead of strings. Makes the code much

Ryan Peach 18 Nov 15, 2021
Helper script to bootstrap a Python environment with the tools required to build and install packages.

python-bootstrap Helper script to bootstrap a Python environment with the tools required to build and install packages. Usage $ python -m bootstrap.bu

Filipe Laíns 7 Oct 06, 2022
Find unused resource keys in properties files in a Salesforce Commerce Cloud project and get rid of them.

Find Unused Resource Keys Find unused resource keys in properties files in a Salesforce Commerce Cloud project and get rid of them. It looks through a

Noël 5 Jan 08, 2022