davidhozic / discord-advertisement-framework Goto Github PK
View Code? Open in Web Editor NEWAutomatic advertisements / shilling for Discord. GUI / Console, Multi-Accounts & More!
Home Page: http://daf.davidhozic.com
License: Other
Automatic advertisements / shilling for Discord. GUI / Console, Multi-Accounts & More!
Home Page: http://daf.davidhozic.com
License: Other
Allow the use of the datetime module's timedelta
object to be used on the period parameters to make it easier to pass minutes/hours/days...
Using int
(to pass seconds) would be deprecated but still allowed.
fw.VoiceMESSAGE(None, 1 * 60 * 60 , fw.AUDIO("message.mp3"), [982911264797888532],)
Changes to
fw.VoiceMESSAGE(None, timedelta(hours=1) , fw.AUDIO("message.mp3"), [982911264797888532],)
No response
When message is deleted and mode is set to edit, the shiller crashes instead of retrying
DEVELOP - 1.9
Auto recovery of saved procedures doesn't recreate any delete (SQL) data types before trying recreate saved procedures, resulting in auto recovery of deleted procedures to fail and switch to file logging.
What should happen: Upon deletion of saved procedure, types should be recreated first and then any procedures, views, functions.
v1.9rc1
_discord.opus.OpusNotLoaded Raised when trying to play audio.
Seems to only happen on Windows.
Works on my VM ubuntu.
2.0
Make a guide on the official documentation, that will make it easier to create the shilling list.
/
No response
1.9 - develop
Refactor _handle_error
methods to handle channel deletion instead of handling it in the send
method
/
No response
Make framework exception objects contain the exception that caused the current exception to be raised (if there is any)
2.0
Change the current logging scheme to use logging managers.
The run
function would then accept a logging manager instead of sql_manager/log output path.
Also add CSV support.
daf.run(
logger=daf.logging.LoggerCSV(folder)
)
No response
Change update
methods to allow accepting initialization options for Text/VoiceMESSAGE like it is for DirectMESSAGE.
This is to allow update method to work with the new channels' guild checking
/
No response
The enhancement proposes to make some of the framework functionality optional to reduce installation size.
Users will then need to specify extra options when installing.
Instead of just using
pip install discord-advert-framework
you would do
pip install discord-advert-framework[optional_functionality]
Optional functionalities: voice
, proxy
, sql
Add a parameter remove_after: Union[int, timedelta, datetime]
to all message objects, that will dictate how many times the .send method get's called before removing the message from the shilling list.
If the type is int
then it means the amount of times to send, if it is timedelta
, then it means the minimal amount of time for which to send the message, if it is datetime
, then message will be removed after the timestamp.
Implement a message.check_state()
method to always check the state of the message (if it's ready to be deleted) and call this method from xGUILD.
import framework as fw
fw.TextMESSAGE(None, 5, "Hello World", [231323, 2312323], "send", True,
remove_after=5) # Deletes the message from the shill list after 5 sends
_
Add a function as parameter to message and guild objects that will be called after each send of message.
2.1
When an invalid snowflake ID is entered for the GUILD object, the framework just silently removes it instead of the intended behavior: Should alert if debug is enabled (which is by default)
1.8.1
A python file you can run or a command to run that will start the bot and prompt you to input your token and channel IDs if its the first time doing it, im not great with code and have no idea how to run this bot so if you could make this feature or explain to me step by step how to start it that would be great :)
easy to use for noobs
No response
Change the project name to Discron
import discron
No response
When starting from scratch the framework will raise an exception saying that SQL is not found even tho, it is not used.
v2.1.rc1
When using SQL logging, message_mode
is not present for TextMESSAGE and DirectMESSAGE due to missing cached value.
This will be repaired in v2.2
v2.1
The current system doesn't work that well, or at all if update method is called.
Make a global update system that will put everything on hold until the item is updated.
1.9.5
Refactor _get_insert_channels
for speed improvements.
#
No response
KeyError: 'code' raised on rate limit.
This is a minor error and only appears if trying to use the internal discord library directly for some use cases.
v2.1
The framework crashes if using the data_function decorator if None is returned.
This only affects develop branch and does NOT affect any releases.
Time is measured based on a TIMER
object which uses time difference to tell count time. This works fine if the timer gets reset and started immediately after elapsing the desired period. However if due to Discord API delay, SQL logging delay or an user function delay, the timer get's reset eg. one second after being ready, that means that the timer will start counting one second too late due to that one second slippage, offsetting the period .
Instead of using TIMER
objects, use an absolute timestamp dictating when to send the message, that is incremented for the period after each send. This will make sure that even if we slip, this will not cause a permanent offset meaning that if I started sending at exactly 10AM and run the framework daily
This is planned for version 2.0
2.1
When stopping framework before user task has stopped, exceptions are dumped.
Silent exit is expected
1.9
Instead of manually increasing the project version inside version.txt, use the latest version from GitHub releases.
/
No response
Deprecate use of EMBED class, use discord.Embed.
/
No response
[Enhancement]: Create ChannelTYPE and TextualTYPE classes to reduce code used in TextMESSAGE, VoiceMESSAGE and DirectMESSAGE.
This will remove some duplicated code.
2.0
Rename the package so the import would no longer be
import framework
since that doesn't really description the project at all.
The import would then be
import daf
No response
When using the same list to pass the channels parameter to messages, one message will parse the channels and modify the original table causing the others to fail
v1.9rc1
Affected versions:
Explanation:
Convert shutdown to a normal function
/
No response
Methods like .send display they can accept any amount of arguments since it is a wrapper function.
Change that to show original parameters.
2.1
Please help out a noob.
I've installed the requirements.
But can't figure out how to run the framework.
SQL switches to file logging even if error was due to deleted tables.
Expected:
It should recover
v1.9rc2
Fixed in 1.7.6.2 #34
Got error:
403 Forbidden (error code: 40003): You are opening direct messages too fast.
with some users when trying to send multiple DirectMESSAGES
1.8.1
Make the user_callback
parameter inside run
function accept either a normal function or a coroutine.
(Currently only async functions are allowed)
import daf
def main():
print("Running")
daf.run(..., user_callback=main)
No response
Whenever passing xMESSAGE with a randomized period where the numbers are float
instead of int
ValueError: non-integer stop for randrange()
is raised
It is expected for nothing to be raised.
1.9
Modify the API wrapper to keep track of requests made to HTTP
/
No response
Replace the framework's DAFParameterError with the Python's built in TypeError and ValueError for a more standardized exception system.
try:
raise TypeError("Invalid Type")
except TypeError as exception:
raise DAFParameterError from exception
to
raise TypeError("Invalid Type")
No response
Rete limit handling doesn't work properly
2.0.2
Instead of having just True/False
on the debug parameter inside daf.run
function, propose
to add levels of tracing as a parameter: "NORMAL", "WARNING", "ERROR".
"NORMAL" will display all debug messages,
"WARNING" will display debug that are warnings and errors,
"ERROR" will display debug messages that are errors only,
daf.run(
...,
debug="WARNING",
...
)
No response
Currently the message objects don't do checks for messages that were given a channel id of a channel that is not in the guild.
Make xMESSAGE objects check for that.
2.1
start_now parameter is ignored for each xMESSAGE objects due to incorrect base method call.
1.9
VoiceMESSAGE does not remove the channel from it's channel list if the channel has been removed.
v2.1
When passing daf a predefined server list, any exceptions are to be suppressed and printed to the console without stopping the process.
If any of the objects are not properly defined (eg. invalid channel id), DAF is stopped due to uncaught exception.
2.1
Allow different types of parameters for framework.remove_message
function
/
No response
Love to see that the project evolves ๐
Create a class who's instances will be used to dictate the sending period.
start_period, end_period dictate the randomized range period, if start_period is None, then end_period will be used as a fixed period. This can feel a bit confusing
Create AbsoluteTIME
and RandomizedTIME
classes that will dictate the sending period
2.1
Add support for additional SQL database types.
/
No response
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.