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#.
A python module to update the console without flashing.

A python module to update the console without flashing.

Matthias 112 Dec 19, 2022
Edit SRT files to delay subtitle time-stamps.

subtitle-delay A program written in Python that directly edits SRT file to delay the subtitles. Features: Will throw an error if delaying with negativ

8 Jul 17, 2022
Hide new MacBook Pro notch with black wallpaper.

Hide new MacBook Pro notch with black wallpaper.

Wang Chao 1 Oct 27, 2021
Build capture utility for Linux

CX-BUILD Compilation Database alternative Build Prerequisite the CXBUILD uses linux system call trace utility called strace which was customized. So I

GLaDOS (G? L? Automatic Debug Operation System) 3 Nov 03, 2022
Lark is a parsing toolkit for Python, built with a focus on ergonomics, performance and modularity.

Lark is a parsing toolkit for Python, built with a focus on ergonomics, performance and modularity.

Lark - Parsing Library & Toolkit 3.5k Jan 05, 2023
New time-based UUID formats which are suited for use as a database key

uuid6 New time-based UUID formats which are suited for use as a database key. This module extends immutable UUID objects (the UUID class) with the fun

26 Dec 30, 2022
Audio Steganography is a technique used to transmit hidden information by modifying an audio signal in an imperceptible manner.

Audio Steganography Audio Steganography is a technique used to transmit hidden information by modifying an audio signal in an imperceptible manner. Ab

Karan Yuvraj Singh 1 Oct 17, 2021
pydsinternals - A Python native library containing necessary classes, functions and structures to interact with Windows Active Directory.

pydsinternals - Directory Services Internals Library A Python native library containing necessary classes, functions and structures to interact with W

Podalirius 36 Dec 14, 2022
Password generator

Password generator technologies used What is? It is Password generator How to Download? Download on releases Clone repo git clone https://github.com/m

Miek 1 Nov 02, 2021
Toolkit for collecting and applying templates of prompting instances

PromptSource Toolkit for collecting and applying templates of prompting instances. WIP Setup Download the repo Navigate to root directory of the repo

BigScience Workshop 1k Jan 05, 2023
A work in progress box containing various Python utilities

python-wipbox A set of modern Python libraries under development to simplify the execution of reusable routines by different projects. Table of Conten

Deepnox 2 Jan 20, 2022
Patch the pclntable from Go binaries

Pretrain and Fine-tune a T5 model with Flax on GCP This tutorial details how pretrain and fine-tune a FlaxT5 model from HuggingFace using a TPU VM ava

6 Oct 05, 2022
python package for generating typescript grpc-web stubs from protobuf files.

grpc-web-proto-compile NOTE: This package has been superseded by romnn/proto-compile, which provides the same functionality but offers a lot more flex

Roman Dahm 0 Sep 05, 2021
Simple yet flexible natural sorting in Python.

natsort Simple yet flexible natural sorting in Python. Source Code: https://github.com/SethMMorton/natsort Downloads: https://pypi.org/project/natsort

Seth Morton 712 Dec 23, 2022
Extends the pyranges module with operations on joined genomic intervals

tiedpyranges Extends the pyranges module with operations on joined genomic intervals (e.g. exons of same transcript) Install with: pip install tiedpyr

Marco Mariotti 4 Aug 05, 2022
Script to rename and resize folders of images

script to rename and resize folders of images

Tega Brain 2 Oct 29, 2021
✨ Un chois aléatoire d'un article sur Wikipedia totalement fait en Python par moi, et en français.

Wikipedia Random Article ❗ Un chois aléatoire d'un article sur Wikipedia totalement fait en Python par moi, et en français. 🔮 Grâce a une requète a w

MrGabin 4 Jul 18, 2021
SysInfo is an app developed in python which gives Basic System Info , and some detailed graphs of system performance .

SysInfo SysInfo is an app developed in python which gives Basic System Info , and some detailed graphs of system performance . Installation Download t

5 Nov 08, 2021
腾讯云轻量服务流量超出限制自动关机

LightHouse_Automatic_Shutdown 腾讯云轻量服务流量超出限制自动关机

132 Dec 14, 2022
Entropy-controlled contexts in Python

Python module ordered ordered module is the opposite to random - it maintains order in the program. import random x = 5 def increase(): global x

HyperC 36 Nov 03, 2022