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#.
EthTx - Ethereum transactions decoder

EthTx - Ethereum transactions decoder Installation pip install ethtx Requirements The package needs a few external resources, defined in EthTxConfig o

398 Dec 25, 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
Runes - Simple Cookies You Can Extend (similar to Macaroons)

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

Rusty Russell 22 Dec 11, 2022
🍰 ConnectMP - An easy and efficient way to share data between Processes in Python.

ConnectMP - Taking Multi-Process Data Sharing to the moon 🚀 Contribute · Community · Documentation 🎫 Introduction : 🍤 ConnectMP is the easiest and

Aiden Ellis 1 Dec 24, 2021
A Python package for floating-point binary fractions. Do math in base 2!

An implementation of a floating-point binary fractions class and module in Python. Work with binary fractions and binary floats with ease!

10 Oct 29, 2022
osqueryIR is an artifact collection tool for Linux systems.

osqueryIR osqueryIR is an artifact collection tool for Linux systems. It provides the following capabilities: Execute osquery SQL queries Collect file

AbdulRhman Alfaifi 7 Nov 02, 2022
Know your customer pipeline in apache air flow

KYC_pipline Know your customer pipeline in apache air flow For a successful pipeline run take these steps: Run you Airflow server Admin - connection

saeed 4 Aug 01, 2022
Python type-checker written in Rust

pravda Python type-checker written in Rust Features Fully typed with annotations and checked with mypy, PEP561 compatible Add yours! Installation pip

wemake.services 31 Oct 21, 2022
A Randomizer Oracle

Tezos Randomizer Tezod Randomizer "Oracle". It's a smart contract that you can call to get a random number between X and Y (for now). It uses entropy

Asbjorn Enge 19 Sep 13, 2022
Aggregating gridded data (xarray) to polygons

A package to aggregate gridded data in xarray to polygons in geopandas using area-weighting from the relative area overlaps between pixels and polygons.

Kevin Schwarzwald 42 Nov 09, 2022
A simple package for handling variables in string.

A simple package for handling string variables. Welcome! This is a simple package for handling variables in string, You can add or remove variables wi

1 Dec 31, 2021
API Rate Limit Decorator

ratelimit APIs are a very common way to interact with web services. As the need to consume data grows, so does the number of API calls necessary to re

Tomas Basham 575 Jan 05, 2023
Simple integer-valued time series bit packing

Smahat allows to encode a sequence of integer values using a fixed (for all values) number of bits but minimal with regards to the data range. For example: for a series of boolean values only one bit

Ghiles Meddour 7 Aug 27, 2021
Hide new MacBook Pro notch with black wallpaper.

Hide new MacBook Pro notch with black wallpaper.

Wang Chao 1 Oct 27, 2021
A program will generate a eth key pair that has the public key that starts with a defined amount of 0

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

3 Nov 19, 2021
ULID implementation for Python

What is this? This is a port of the original JavaScript ULID implementation to Python. A ULID is a universally unique lexicographically sortable ident

Martin Domke 158 Jan 04, 2023
Check the basic quality of any dataset

Data Quality Checker in Python Check the basic quality of any dataset. Sneak Peek Read full tutorial at Medium. Explore the app Requirements python 3.

MalaDeep 8 Feb 23, 2022
Spacegit is a .git exposed finder

Spacegit Spacegit is a basic .git exposed finder Usage: You need python3 installed to run spacegit use: python3 spacegit.py (url) Disclaimer: **This i

2 Nov 30, 2021
These scripts look for non-printable unicode characters in all text files in a source tree

find-unicode-control These scripts look for non-printable unicode characters in all text files in a source tree. find_unicode_control.py should work w

Siddhesh Poyarekar 25 Aug 30, 2022
Utility to extract Fantasy Grounds Unity Line-of-sight and lighting files from a Univeral VTT file exported from Dungeondraft

uvtt2fgu Utility to extract Fantasy Grounds Unity Line-of-sight and lighting files from a Univeral VTT file exported from Dungeondraft This program wo

Andre Kostur 29 Dec 05, 2022