Skip to main content

Framework (or bot) that allows you to advertise on discord

Project description

DISCORD ADVERTISEMENT FRAMEWORK (BOT) - DAF

PyPI CodeFactor Grade

The Discord advertisement framework is a tool that allows easy advertising on Discord.

FULL documentation

For documentation see WEBSITE

Key features

  • Periodic advertisement to Direct (Private) Messages, Text channels and Voice channels
  • Advertising with either static data or dynamic data (function call)
  • Logging of send attempts with JSON file logs or to a SQL server (Microsoft SQL Server only).
  • Ability to add additional application layers with help of asyncio
  • Easy to setup

Installation

To install the framework use one of the following:

# Windows
python -m pip install discord-advert-framework
# Windows
py -3 -m pip install discord-advert-framework
# Linux
python3 -m pip install discord-advert-framework

Example

"""
~ Example file ~
This file shows how you can make a script that automatically generates the server
list based on the `allowed_strings` list (contains strings that must appear in the channel name we want to shill into).

We pass the framework a user_callback function named `find_advertisement_channels` which autofills the servers list with GUILD objects.
"""
import daf


# Create a list in which we will automatically add guilds
allowed_strings = {"shill", "advert", "promo"}
data_to_shill = (     # Example data set
                "Hello World", 
                daf.EMBED(title="Example Embed",
                         color=daf.EMBED.Color.blue(),
                         description="This is a test embed")
                )


servers = []

async def find_advertisement_channels():
    # Returns the client to send commands to discord, for more info about client see https://docs.pycord.dev/en/master/api.html?highlight=discord%20client#discord.Client
    client = daf.get_client()  
    
    for guild in client.guilds:  # Iterate thru all the guilds where the bot is in
        channels = []
        for channel in guild.text_channels: # Iterate thru all the text channels in the guild
            if any([x in channel.name for x in allowed_strings]): # Check if any of the strings in allowed_strings are in the channel name
                channels.append(channel.id) # If so, add the channel id to the list
        
        # Add the guild to the internal shilling list
        await daf.core.add_object(   
            daf.GUILD(
                guild.id,                               # Guild id
                [                                       # List of messages
                    daf.TextMESSAGE(None,                    # Start period
                                   5,                       # End period
                                   data_to_shill,           # Data that will be sent
                                   channels,                # List of channels to send the message to            
                                   "send",                  # Sending moode (send, edit, clear-send)
                                   True                     # Should the message be sent immediately after adding it to the list
                    )                                   
                ],
                True                                    # Should the framework generate a log of sent messages for this guild
            )
        )


daf.run(
    token="OSDSJ44JNnnJNJ2NJDBWQUGHSHFAJSHDUQHFDBADVAHJVERAHGDVAHJSVDE",   # Example token
    server_list=servers,
    user_callback=find_advertisement_channels
)

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Discord-Advert-Framework-2.1rc1.tar.gz (863.8 kB view hashes)

Uploaded Source

Built Distribution

Discord_Advert_Framework-2.1rc1-py3-none-any.whl (977.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page