Discord feeder for AIL

Overview

ail-feeder-discord

Discord feeder for AIL

Warning! Automating user accounts is technically against TOS, so use at your own risk!

Discord API

https://discord.com/developers/docs/intro

How does it work?

The program does the following in this order:

  1. login with the given account (token in etc/token.txt)
  2. fetch all the servers the user is already part of
  3. scan the channels in each server for the given query, if a match is found, extract the data and upload it
  4. after scanning for the query in the messages, the program looks for URLs in the channels, if a URL is found, extract the data and upload it
  5. once all the servers, the user has been part of, are scanned, the program joins all the servers in etc/server-invite-codes.txt and repeats steps 3 and 4 for the newly joined servers
  6. after this, the program starts to listen for incoming messages for scantime seconds
  7. when a message comes in, matching the query or containing a link, the data is extracted and uploaded
  8. when the scantime seconds are up, the program exits

NB: When a new message arrives during steps 2-5, the program treats the new message first and continues the previous scan after completing the new incoming message.

Requirements

TODO

How to use? (Work in progress)

  1. Create a file token.txt in the etc/ folder in the root directory. Add the Discord token of the account you want to use. How to get the Discord user token

  2. Create a file server-invite-codes.txt in the etc/ folder in the root directory if you want to automatically join and scan new servers. Add the invite codes in separate lines in this file. (Make sure to not add the complete links! e.g., abcd1234 instead of https://discord.gg/abcd1234)

  3. Run the command below with the desired parameters and wait for execution to finish.

ail-feeder-discord/: python3 bin/feeder.py --help
usage: feeder.py [-h] [--verbose] [--nocache] [--messagelimit MESSAGELIMIT] [--replies] [--maxsize MAXSIZE] [--scantime SCANTIME] query

positional arguments:
  query                 query to search on Discord to feed AIL

optional arguments:
  -h, --help            show this help message and exit
  --verbose             verbose output
  --nocache             disable cache
  --messagelimit MESSAGELIMIT
                        maximum number of message to fetch
  --replies             follow the messages of a thread
  --maxsize MAXSIZE     the maximum size of a url in bytes
  --scantime SCANTIME   the amount of time the application should keep listening for new messages in seconds (turned off by default)
Comments
  • Make the program completely automated

    Make the program completely automated

    Currently the joining process is manual, maybe this can be automated to be:

    Do until server-invite-codes.txt is empty:

    1. Join new servers
    2. Remove the joined servers from the server-invite-codes.txt file
    3. Scan the servers
    4. Restart from point 1
    doing 
    opened by FBroy 0
  • Join new servers

    Join new servers

    Find a way to join servers without being banned. This can be joining 10-20 servers, then scanning, then joining again etc. Find a way which works all the time.

    opened by FBroy 0
  • Adapt README

    Adapt README

    Due to some changes, the README needs to be adapted.

    • [x] discum installer from github, not pip
    • [x] How to join servers
    • [x] How the program flow works
    • [x] etc
    doing 
    opened by FBroy 0
  • Reduce the wait time between requests

    Reduce the wait time between requests

    To avoid being rate limited, wait times were implemented. However, the current wait times are 10 seconds between each request, which is quite slow.

    Try to find the best value to not be rate limited while keeping the speed up.

    doing 
    opened by FBroy 0
  • Treat ALL urls separately

    Treat ALL urls separately

    Next to the filter option for text and so on, every URL should be extracted and analysed.

    Sometimes a URL cannot be scanned with article.nlp(). In this case metadata should be extracted instead.

    doing 
    opened by FBroy 0
  • Add more filter options

    Add more filter options

    Messages can be filtered on many options, which ones should be used in the build?

    • [x] Text filter
    • [x] Follow threads
    • [x] Maximum size to be downloaded
    • [x] How long to keep listening for new messages to come in before terminating
    doing 
    opened by FBroy 0
  • "Recursive" crawling

    If we find a new invite link in the messages, we can crawl the new server as well. To avoid possible infinite loops, we need to implement caching, see issue #5.

    doing 
    opened by FBroy 0
  • Find servers to join

    Find servers to join

    There needs to be a way to find the servers that need to be crawled.

    These servers can either be public communities or servers, which have a permanent invite link openly accessible somewhere. If we find other invite links somewhere, we can also use those.

    This could maybe be automated and the file etc/server-invite-codes.txt could be filled automatically.

    Tags: discord.gg discord.com top.gg

    opened by FBroy 0
  • Continuously monitor the feed of a channel

    Continuously monitor the feed of a channel

    Sometimes we want to keep monitoring a chat and continue to listen for new messages after the initial scan.

    This can be implemented using the listener for new message and then as soon as a new one arrives, feed it if necessary.

    This method should be terminated at some point. Either through a keyboard interrupt or after a certain amount of time.

    doing 
    opened by FBroy 0
Owner
ail project
ail project
A small and fun Discord Bot that is written in Python and discord-interactions (with discord.py)

Articuno (discord-interactions) A small and fun Discord Bot that is written in Python and discord-interactions (with discord.py) Get started If you wa

Blue 8 Dec 26, 2022
Satoshi is a discord bot template in python using discord.py that allow you to track some live crypto prices with your own discord bot.

Satoshi ~ DiscordCryptoBot Satoshi is a simple python discord bot using discord.py that allow you to track your favorites cryptos prices with your own

Théo 2 Sep 15, 2022
Discord bot script for sending multiple media files to a discord channel according to discord limitations.

Discord Bulk Image Sending Bot Send bulk images to Discord channel. This is a bot script that will allow you to send multiple images to Discord channe

Nikola Arbov 1 Jan 13, 2022
DeKrypt 24 Sep 21, 2022
A Python wrapper for discord slash-commands, designed to extend discord.py.

dislash.py An extending library for discord.py that allows to build awesome slash-commands. ⭐

null 173 Dec 19, 2022
An Open-Source Discord bot created to provide basic functionality which should be in every discord guild. We use this same bot with additional configurations for our guilds.

A Discord bot completely written to be taken from the source and built according to your own custom needs. This bot supports some core features and is

Tesseract Coding 14 Jan 11, 2022
Provide discord buttons feature for discord.py

dpy_buttons wrapper library for discord.py, providing discord buttons feature. Future of the library Will be merged into discord interaction api libra

Minjun Kim (Lapis0875) 17 Feb 2, 2022
A Discord BOT that uses Google Sheets for storing the roles and permissions of a discord server.

Discord Role Manager Bot Role Manager is a discord BOT that utilizes Google Sheets for the organization of a server's hierarchy and permissions. Detai

Dion Rigatos 17 Oct 13, 2022
Discord ToolBox is a discord bot developed by DJD320 created for the purpose of having some convenient tools in the form of a single bot.

Discord ToolBox Discord ToolBox is a discord bot developed by DJD320 created for the purpose of having some convenient tools in the form of a single b

null 3 Aug 7, 2021
🚀 An asynchronous python API wrapper meant to replace discord.py - Snappy discord api wrapper written with aiohttp & websockets

Pincer An asynchronous python API wrapper meant to replace discord.py ❗ The package is currently within the planning phase ?? Links |Join the discord

Pincer 125 Dec 26, 2022
Pycord, a maintained fork of discord.py, is a python wrapper for the Discord API

pycord A fork of discord.py. PyCord is a modern, easy to use, feature-rich, and async ready API wrapper for Discord written in Python. Key Features Mo

Pycord Development 2.3k Dec 31, 2022
An asyncio Python wrapper around the Discord API, forked off of Rapptz's Discord.py.

Novus A modern, easy to use, feature-rich, and async ready API wrapper for Discord written in Python. A full fork of Rapptz's Discord.py library, with

Voxel Fox 60 Jan 3, 2023
MusicBot is the original Discord music bot written for Python 3.5+, using the discord.py library

The original MusicBot for Discord (formerly SexualRhinoceros/MusicBot)

Just Some Bots 2.9k Jan 2, 2023
Discord Panel is an AIO panel for Discord that aims to have all the needed tools related to user token interactions, as in nuking and also everything you could possibly need for raids

Discord Panel Discord Panel is an AIO panel for Discord that aims to have all the needed tools related to user token interactions, as in nuking and al

null 11 Mar 30, 2022
Discord music bot using discord.py, slash commands, and yt-dlp.

bop Discord music bot using discord.py, slash commands, and yt-dlp. Features Play music from YouTube videos and playlists Queue system with shuffle Sk

Hizkia Felix 3 Aug 11, 2022
A simple but useful Discord Selfbot with essential features, made with discord.py-self.

Discord Selfbot Xyno Discord Selfbot Xyno is a simple but useful selfbot for Discord. It has currently limited useful features but it will be updated

Amit Pathak 7 Apr 24, 2022
Discord bot for Ukrfans Discord server

Ukrfans Discord Bot Discord bot for Ukrfans Discord server. ?? Prerequisites Python ⚙️ Build & Run Create an .env file in the root directory and add t

null 3 Jun 24, 2022
Michelle is a Discord Bot coded in Python with Discord.py by Mudit07.

Michelle is a Discord Bot coded in Python with Discord.py by Mudit07.

Michelle 3 Oct 9, 2021
Zero2 Discord bot is written with Discord.py using Python.

Zero2 Discord bot is written with Discord.py using Python.

Siva Avanish 4 Nov 8, 2021