-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Trigger, condition and action system #65
Comments
TriggersA trigger can be created by a user with the proper permissions. A trigger's scope determines where it applies:
Triggers have a persistence setting:
Oneshot triggers only persist for 24 hours. Old oneshot and temporary triggers are regularly cleaned up. ConditionsA trigger can have one of several conditions:
Each of these conditions takes one parameter, which can be a string, a regex, or a duration. ActionsTriggers are linked to actions. Each trigger may only be linked to one action. However, actions can be chained. BlacklistUsers can be blacklisted from activating triggers in a given channel or server. CachingTriggers are cached per-server. LimitsA server has a limited number of persistent, temporary, and custom triggers. This number will be different for each type of trigger. ActionsActions are separate from triggers. Multiple triggers can link to one action. There are several types of actions:
Actions typically have two parameters. The meaning of these parameters is specific to the type of action. An action can have a chain attribute. After an action completes, it calls the action specified in its chain attribute, if one exists. Loops are not allowed: when an action is called, the bot keeps track of every action executed in the chain, and if there is an attempt to call the same action again, the operation aborts. Actions cannot create new actions or activate triggers. LimitsServers have a limited number of actions, but this number is much greater than the trigger limit. Action chains have a maximum length. |
Reaction roles will use this system internally.
The text was updated successfully, but these errors were encountered: