Giter Site home page Giter Site logo

kr4ken-9 / dab Goto Github PK

View Code? Open in Web Editor NEW
18.0 5.0 12.0 470 KB

Discord Automation Bot - A selfbot that automates other bots, including Pokecord (formerly) and now PokeTwo and PokeRealm.

License: GNU General Public License v3.0

Python 100.00%
discord selfbot tatsumaki pokecord sushii poketwo pokerealm autocatcher

dab's People

Contributors

extraconcentratedjuice avatar gooey9027 avatar jan2705 avatar kr4ken-9 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

dab's Issues

Add Configurable Rep Delays

This might cause trouble with giving rep consistently, but it's probably necessary to avoid detection.
(Clockwork reps might raise alarms)

Add Silence For Rep

Allow users to delete their farming messages when rep is being farmed. This eliminates a vector of detection if bots decide to look at a person's history (gives rep to the same person at the same time) if they aren't already logging messages before they're deleted.

  • Tatsumaki
  • Sushii

Task exception was never retrieved

Get this every time I try to use the selfbot:

PS C:\Users\Stardix\Desktop\DAB-master> python3.8.exe main.py

2020-03-22 21:29:30.868016: Message farming enabled
Task exception was never retrieved
future: <Task finished name='Task-1' coro=<Messages.farm() done, defined at C:\Users\Stardix\Desktop\DAB-master\src\messages\messages.py:14> exception=AttributeError("'NoneType' object has no attribute 'typing'")>
Traceback (most recent call last):
  File "C:\Users\Stardix\Desktop\DAB-master\src\messages\messages.py", line 48, in farm
    await outbound.send()
  File "C:\Users\Stardix\Desktop\DAB-master\src\outbound_message.py", line 12, in send
    async with self.channel.typing():
AttributeError: 'NoneType' object has no attribute 'typing'

2020-03-22 21:29:30.869019: Tatsumaki rep farming enabled
Task exception was never retrieved
future: <Task finished name='Task-2' coro=<Tatsumaki.rep() done, defined at C:\Users\Stardix\Desktop\DAB-master\src\tatsumaki\tatsumaki.py:15> exception=AttributeError("'NoneType' object has no attribute 'typing'")>
Traceback (most recent call last):
  File "C:\Users\Stardix\Desktop\DAB-master\src\tatsumaki\tatsumaki.py", line 42, in rep
    await outbound.send()
  File "C:\Users\Stardix\Desktop\DAB-master\src\outbound_message.py", line 12, in send
    async with self.channel.typing():
AttributeError: 'NoneType' object has no attribute 'typing'

Logged in as
[redacted]
123456789123456789
------

Configs related:

Messages.yaml

firsttime: false
enabled: true
randomchannels: false
channels: ['123456789123456789']
messages: [123456789123456789]
delay: 120
silent: false

Tatsumaki.yaml

firsttime: false
repfarming: true
channel: '123456789123456789'
recipients: ['123456789123456789']
delay: 1440
silent: 3

Shared.yaml

token: 123456789123456789
owners: ['123456789123456789']
logging: true
prefix: "%%"

What's the issue with my configs? I did not use the automatic configuration.

Unrandom Messages

Add option to make messages appear more random by being less random:
Instead of choosing a message by pure randomness, choose from a random list of messages that haven't been used yet, then recycle when you run out of unique messages. This might make the farmer appear less bot-like if mildly scrutinized

Issue with Cloning

Hey @Kr4ken-9 I tried to clone the repo but got this error every time and not sure why or how I can fix this. I took out most of the numbers in the below error just in case it led to personal information or things I shouldn't be giving out since I'me kinda new to this stuff.

C:\Users:black_large_square:>git clone [email protected]:Kr4ken-9/DAB
Cloning into 'DAB'...
The authenticity of host 'github.com (19:black_large_square:53.:black_large_square:3)' can't be established.
RSA key fingerprint is SHA:black_large_square:Thbg6kXUp:black_large_square:E1IGOCspRom:black_large_square:ARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Farm Sushii Rep

Sushiibot has their own form of rep, add ability to farm this.

Background Tasks Start Synchronized

The background tasks, in particular the ones that farm things for different bots (e.g sushii rep, sushii fishy, sidneybot work) all start at the same time. So, with only a small time difference, they all end up mostly sending messages at the same time instantly. This should be fixed, because it's not human behavior.

Idea:

  • Waterfall Start (Staggered start?)

Auto Release

Now that we aren't short on pokebois, we need to set some standards. No more 20% IV pokemans.

Not Working

I installed following your instructions however, when I try to open the main.py it opens then closes almost immediately. Not sure what I am doing wrong or what's going on.

Feature Request

Request?

  • Pokecord custom catch list.

How it works?

  • Catches the spawned poke if the poke is in the custom catch list file.
  • Ignores the spawned poke if the poke is not in the custom catch list file.

Check Owners

As of right now, the bot will respond to commands issued by anyone. This should be fixed immediately.

Track Pokemon Per Channel

Currently, the bot's AI software is outdated and will claim pokemon after a faster person has already claimed them or if another pokemon appears too fast. This should be fixed pretty quickly

I keep getting this error

C:\Users\Tim\Documents\GitHub\DAB\src\config.py:30: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
return yaml.load(file)
Traceback (most recent call last):
File "C:\Users\Tim\AppData\Local\Programs\Python\Python37\lib\site-packages\discord\ext\commands\bot.py", line 575, in _load_from_module_spec
setup(self)
File "C:\Users\Tim\Documents\GitHub\DAB\src\COMMANDS.py", line 35, in setup
client.add_cog(Commands(client))
File "C:\Users\Tim\AppData\Local\Programs\Python\Python37\lib\site-packages\discord\ext\commands\bot.py", line 475, in add_cog
raise TypeError('cogs must derive from Cog')
TypeError: cogs must derive from Cog

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "main.py", line 46, in
client.load_extension("src.COMMANDS")
File "C:\Users\Tim\AppData\Local\Programs\Python\Python37\lib\site-packages\discord\ext\commands\bot.py", line 620, in load_extension
self._load_from_module_spec(lib, name)
File "C:\Users\Tim\AppData\Local\Programs\Python\Python37\lib\site-packages\discord\ext\commands\bot.py", line 579, in _load_from_module_spec
raise errors.ExtensionFailed(key, e) from e
discord.ext.commands.errors.ExtensionFailed: Extension 'src.COMMANDS' raised an error: TypeError: cogs must derive from Cog

Typing Delays Based on Message Length

Right now human typing delays are based on randomness alone. Not bad, but it would be better and more appropriate if it were based on the message length being "typed."

Farm Pokemon

Watch for pokemon appearances (Pokecord) and automatically catch them.

ERROR

I GET THIS ERROR

Traceback (most recent call last):
File "main.py", line 1, in
import discord
File "D:\PYTHON\lib\site-packages\discord_init_.py", line 20, in
from .client import Client, AppInfo, ChannelPermissions
File "D:\PYTHON\lib\site-packages\discord\client.py", line 38, in
from .state import ConnectionState
File "D:\PYTHON\lib\site-packages\discord\state.py", line 36, in
from . import utils, compat
File "D:\PYTHON\lib\site-packages\discord\compat.py", line 32
create_task = asyncio.async
^
SyntaxError: invalid syntax

Perceptual Hashing for GIFs

I don't think the imagehash library has inherent support for aniamted GIFs, so I will probably need to add it myself in the future. However, GIFs and Pillow seem to be a pain in the ass so here's hoping it's easier than it looks.

Idea:

  1. Split gifs into frames
  2. Hash each frame
  3. Compare each hash? OR Hash all hashes (lol)

Resources:
https://gist.github.com/revolunet/848913
https://gist.github.com/BigglesZX/4016539
python-pillow/Pillow#2893
https://pythontic.com/image-processing/pillow/extract%20frames%20from%20animated%20gif

Why?
I just came across a relatively new discord bot named Onixian that uses animated gifs to identify pokemon.

Followup Idea:
Maybe don't hash each frame, only selective frames. Bots can change single frames and mess up the hash. I have to keep reminding myself that perceptual hashes are different than cryptographic hashes lol.

Add Impersonation

This will allow configurable owners to impersonate the bot, aka sending messages as the bot.

Humans Sometimes Guess Wrong

DAB is a human, obviously, and humans make mistakes. Because they aren't bots. Right now, DAB doesn't make any mistakes (intentionally). This should be corrected. Also apparently if you guess right too many times you might get flagged, so this is good anyway.

Allow Config Creation via Commandline

If it is detected that config.yaml is still an example, ask for the information via commandline, and create config.yaml based on input.

  • Config
    • Token
    • Channels
    • Silent
    • Delay
    • Messages
    • Randomchannels
    • Owners
  • Rep Config
    • Recipient
    • Channel
    • Delay

Document Owners

The owners config option is not configured, this should be corrected.

Support for user tokens that have extra characters in them

So my token seems to have extra characters in them that aren't normally found in traditional user tokens. Mine has the prefix mfa, then a period, then far head is a hyphen, and then finally an underscore. Example:
mfa.975MW9QWMQQWJW8jfw38f23j89f-A9vj3FNAOFEJGHHN_sjc209fj
Since tokens are authentication-related (hence changing password resets it), I presume the mfa is multi-factor authentication as I use 2FA.

How would I go on about using my token as putting it in the Shared.yaml hangs the script?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.