AdvancedTagScript 3.2.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- TagScriptEngine/__init__.py +227 -0
- TagScriptEngine/_warnings.py +88 -0
- TagScriptEngine/adapter/__init__.py +50 -0
- TagScriptEngine/adapter/discordadapters.py +596 -0
- TagScriptEngine/adapter/functionadapter.py +23 -0
- TagScriptEngine/adapter/intadapter.py +22 -0
- TagScriptEngine/adapter/objectadapter.py +35 -0
- TagScriptEngine/adapter/redbotadapters.py +161 -0
- TagScriptEngine/adapter/stringadapter.py +47 -0
- TagScriptEngine/block/__init__.py +130 -0
- TagScriptEngine/block/allowedmentions.py +60 -0
- TagScriptEngine/block/assign.py +43 -0
- TagScriptEngine/block/breakblock.py +41 -0
- TagScriptEngine/block/case.py +63 -0
- TagScriptEngine/block/command.py +141 -0
- TagScriptEngine/block/comment.py +29 -0
- TagScriptEngine/block/control.py +149 -0
- TagScriptEngine/block/cooldown.py +95 -0
- TagScriptEngine/block/count.py +68 -0
- TagScriptEngine/block/embedblock.py +306 -0
- TagScriptEngine/block/fiftyfifty.py +34 -0
- TagScriptEngine/block/helpers.py +164 -0
- TagScriptEngine/block/loosevariablegetter.py +40 -0
- TagScriptEngine/block/mathblock.py +164 -0
- TagScriptEngine/block/randomblock.py +51 -0
- TagScriptEngine/block/range.py +56 -0
- TagScriptEngine/block/redirect.py +42 -0
- TagScriptEngine/block/replaceblock.py +110 -0
- TagScriptEngine/block/require_blacklist.py +79 -0
- TagScriptEngine/block/shortcutredirect.py +23 -0
- TagScriptEngine/block/stopblock.py +38 -0
- TagScriptEngine/block/strf.py +70 -0
- TagScriptEngine/block/strictvariablegetter.py +38 -0
- TagScriptEngine/block/substr.py +25 -0
- TagScriptEngine/block/urlencodeblock.py +41 -0
- TagScriptEngine/exceptions.py +105 -0
- TagScriptEngine/interface/__init__.py +14 -0
- TagScriptEngine/interface/adapter.py +75 -0
- TagScriptEngine/interface/block.py +124 -0
- TagScriptEngine/interpreter.py +502 -0
- TagScriptEngine/py.typed +0 -0
- TagScriptEngine/utils.py +71 -0
- TagScriptEngine/verb.py +160 -0
- advancedtagscript-3.2.4.dist-info/METADATA +99 -0
- advancedtagscript-3.2.4.dist-info/RECORD +48 -0
- advancedtagscript-3.2.4.dist-info/WHEEL +5 -0
- advancedtagscript-3.2.4.dist-info/licenses/LICENSE +1 -0
- advancedtagscript-3.2.4.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from typing import Final, NamedTuple, Tuple
|
|
4
|
+
|
|
5
|
+
from .adapter import (
|
|
6
|
+
SafeObjectAdapter as SafeObjectAdapter,
|
|
7
|
+
StringAdapter as StringAdapter,
|
|
8
|
+
IntAdapter as IntAdapter,
|
|
9
|
+
FunctionAdapter as FunctionAdapter,
|
|
10
|
+
DiscordAttributeAdapter as DiscordAttributeAdapter,
|
|
11
|
+
UserAdapter as UserAdapter,
|
|
12
|
+
MemberAdapter as MemberAdapter,
|
|
13
|
+
DMChannelAdapter as DMChannelAdapter,
|
|
14
|
+
ChannelAdapter as ChannelAdapter,
|
|
15
|
+
GuildAdapter as GuildAdapter,
|
|
16
|
+
RoleAdapter as RoleAdapter,
|
|
17
|
+
AttributeAdapter as AttributeAdapter,
|
|
18
|
+
DiscordObjectAdapter as DiscordObjectAdapter,
|
|
19
|
+
RedCommandAdapter as RedCommandAdapter,
|
|
20
|
+
RedBotAdapter as RedBotAdapter,
|
|
21
|
+
)
|
|
22
|
+
from .block import (
|
|
23
|
+
implicit_bool as implicit_bool,
|
|
24
|
+
helper_parse_if as helper_parse_if,
|
|
25
|
+
helper_parse_list_if as helper_parse_list_if,
|
|
26
|
+
helper_split as helper_split,
|
|
27
|
+
AllowedMentionsBlock as AllowedMentionsBlock,
|
|
28
|
+
AllBlock as AllBlock,
|
|
29
|
+
AnyBlock as AnyBlock,
|
|
30
|
+
AssignmentBlock as AssignmentBlock,
|
|
31
|
+
BlacklistBlock as BlacklistBlock,
|
|
32
|
+
BreakBlock as BreakBlock,
|
|
33
|
+
SequentialGather as SequentialGather,
|
|
34
|
+
CommandBlock as CommandBlock,
|
|
35
|
+
EmbedBlock as EmbedBlock,
|
|
36
|
+
FiftyFiftyBlock as FiftyFiftyBlock,
|
|
37
|
+
IfBlock as IfBlock,
|
|
38
|
+
LooseVariableGetterBlock as LooseVariableGetterBlock,
|
|
39
|
+
MathBlock as MathBlock,
|
|
40
|
+
OverrideBlock as OverrideBlock,
|
|
41
|
+
PythonBlock as PythonBlock,
|
|
42
|
+
RandomBlock as RandomBlock,
|
|
43
|
+
RangeBlock as RangeBlock,
|
|
44
|
+
RedirectBlock as RedirectBlock,
|
|
45
|
+
ReplaceBlock as ReplaceBlock,
|
|
46
|
+
RequireBlock as RequireBlock,
|
|
47
|
+
ShortCutRedirectBlock as ShortCutRedirectBlock,
|
|
48
|
+
StopBlock as StopBlock,
|
|
49
|
+
StrfBlock as StrfBlock,
|
|
50
|
+
StrictVariableGetterBlock as StrictVariableGetterBlock,
|
|
51
|
+
SubstringBlock as SubstringBlock,
|
|
52
|
+
URLEncodeBlock as URLEncodeBlock,
|
|
53
|
+
UpperBlock as UpperBlock,
|
|
54
|
+
LowerBlock as LowerBlock,
|
|
55
|
+
CountBlock as CountBlock,
|
|
56
|
+
LengthBlock as LengthBlock,
|
|
57
|
+
CooldownBlock as CooldownBlock,
|
|
58
|
+
)
|
|
59
|
+
from .interface import (
|
|
60
|
+
Adapter as Adapter,
|
|
61
|
+
SimpleAdapter as SimpleAdapter,
|
|
62
|
+
Block as Block,
|
|
63
|
+
verb_required_block as verb_required_block,
|
|
64
|
+
)
|
|
65
|
+
from ._warnings import (
|
|
66
|
+
TagScriptEngineDeprecationWarning as TagScriptEngineDeprecationWarning,
|
|
67
|
+
)
|
|
68
|
+
from .exceptions import (
|
|
69
|
+
TagScriptError as TagScriptError,
|
|
70
|
+
WorkloadExceededError as WorkloadExceededError,
|
|
71
|
+
ProcessError as ProcessError,
|
|
72
|
+
EmbedParseError as EmbedParseError,
|
|
73
|
+
BadColourArgument as BadColourArgument,
|
|
74
|
+
StopError as StopError,
|
|
75
|
+
CooldownExceeded as CooldownExceeded,
|
|
76
|
+
)
|
|
77
|
+
from .interpreter import (
|
|
78
|
+
Interpreter as Interpreter,
|
|
79
|
+
AsyncInterpreter as AsyncInterpreter,
|
|
80
|
+
Context as Context,
|
|
81
|
+
Response as Response,
|
|
82
|
+
Node as Node,
|
|
83
|
+
build_node_tree as build_node_tree,
|
|
84
|
+
)
|
|
85
|
+
from .utils import (
|
|
86
|
+
truncate as truncate,
|
|
87
|
+
escape_content as escape_content,
|
|
88
|
+
maybe_await as maybe_await,
|
|
89
|
+
)
|
|
90
|
+
from .verb import (
|
|
91
|
+
Verb as Verb,
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
__all__: Tuple[str, ...] = (
|
|
96
|
+
"implicit_bool",
|
|
97
|
+
"helper_parse_if",
|
|
98
|
+
"helper_parse_list_if",
|
|
99
|
+
"helper_split",
|
|
100
|
+
"AllBlock",
|
|
101
|
+
"AnyBlock",
|
|
102
|
+
"AssignmentBlock",
|
|
103
|
+
"BlacklistBlock",
|
|
104
|
+
"BreakBlock",
|
|
105
|
+
"SequentialGather",
|
|
106
|
+
"CommandBlock",
|
|
107
|
+
"CooldownBlock",
|
|
108
|
+
"EmbedBlock",
|
|
109
|
+
"FiftyFiftyBlock",
|
|
110
|
+
"IfBlock",
|
|
111
|
+
"LooseVariableGetterBlock",
|
|
112
|
+
"MathBlock",
|
|
113
|
+
"OverrideBlock",
|
|
114
|
+
"PythonBlock",
|
|
115
|
+
"RandomBlock",
|
|
116
|
+
"RangeBlock",
|
|
117
|
+
"RedirectBlock",
|
|
118
|
+
"ReplaceBlock",
|
|
119
|
+
"RequireBlock",
|
|
120
|
+
"ShortCutRedirectBlock",
|
|
121
|
+
"StopBlock",
|
|
122
|
+
"StrfBlock",
|
|
123
|
+
"StrictVariableGetterBlock",
|
|
124
|
+
"SubstringBlock",
|
|
125
|
+
"URLEncodeBlock",
|
|
126
|
+
"UpperBlock",
|
|
127
|
+
"LowerBlock",
|
|
128
|
+
"CountBlock",
|
|
129
|
+
"LengthBlock",
|
|
130
|
+
"SafeObjectAdapter",
|
|
131
|
+
"StringAdapter",
|
|
132
|
+
"IntAdapter",
|
|
133
|
+
"FunctionAdapter",
|
|
134
|
+
"RedCommandAdapter",
|
|
135
|
+
"RedBotAdapter",
|
|
136
|
+
"AttributeAdapter",
|
|
137
|
+
"DiscordAttributeAdapter",
|
|
138
|
+
"UserAdapter",
|
|
139
|
+
"MemberAdapter",
|
|
140
|
+
"DMChannelAdapter",
|
|
141
|
+
"ChannelAdapter",
|
|
142
|
+
"GuildAdapter",
|
|
143
|
+
"RoleAdapter",
|
|
144
|
+
"DiscordObjectAdapter",
|
|
145
|
+
"Adapter",
|
|
146
|
+
"SimpleAdapter",
|
|
147
|
+
"Block",
|
|
148
|
+
"verb_required_block",
|
|
149
|
+
"TagScriptEngineDeprecationWarning",
|
|
150
|
+
"TagScriptError",
|
|
151
|
+
"WorkloadExceededError",
|
|
152
|
+
"ProcessError",
|
|
153
|
+
"EmbedParseError",
|
|
154
|
+
"BadColourArgument",
|
|
155
|
+
"StopError",
|
|
156
|
+
"CooldownExceeded",
|
|
157
|
+
"Interpreter",
|
|
158
|
+
"AsyncInterpreter",
|
|
159
|
+
"Context",
|
|
160
|
+
"Response",
|
|
161
|
+
"Node",
|
|
162
|
+
"build_node_tree",
|
|
163
|
+
"truncate",
|
|
164
|
+
"escape_content",
|
|
165
|
+
"maybe_await",
|
|
166
|
+
"Verb",
|
|
167
|
+
"__version__",
|
|
168
|
+
"VersionInfo",
|
|
169
|
+
"version_info",
|
|
170
|
+
)
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
__version__: Final[str] = "3.2.4"
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
class VersionNamedTuple(NamedTuple):
|
|
177
|
+
major: int
|
|
178
|
+
minor: int
|
|
179
|
+
micro: int
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
class VersionInfo(VersionNamedTuple):
|
|
183
|
+
"""
|
|
184
|
+
Version information.
|
|
185
|
+
|
|
186
|
+
Attributes
|
|
187
|
+
----------
|
|
188
|
+
major: int
|
|
189
|
+
Major version number.
|
|
190
|
+
minor: int
|
|
191
|
+
Minor version number.
|
|
192
|
+
micro: int
|
|
193
|
+
Micro version number.
|
|
194
|
+
"""
|
|
195
|
+
|
|
196
|
+
__slots__: Tuple[str, ...] = ()
|
|
197
|
+
|
|
198
|
+
def __str__(self) -> str:
|
|
199
|
+
"""
|
|
200
|
+
Returns a string representation of the version information.
|
|
201
|
+
|
|
202
|
+
Returns
|
|
203
|
+
-------
|
|
204
|
+
str
|
|
205
|
+
String representation of the version information.
|
|
206
|
+
"""
|
|
207
|
+
return "{major}.{minor}.{micro}".format(**self._asdict())
|
|
208
|
+
|
|
209
|
+
@classmethod
|
|
210
|
+
def from_str(cls, version: str) -> "VersionInfo":
|
|
211
|
+
"""
|
|
212
|
+
Returns a VersionInfo instance from a string.
|
|
213
|
+
|
|
214
|
+
Parameters
|
|
215
|
+
----------
|
|
216
|
+
version: str
|
|
217
|
+
String representation of the version information.
|
|
218
|
+
|
|
219
|
+
Returns
|
|
220
|
+
-------
|
|
221
|
+
VersionInfo
|
|
222
|
+
Version information.
|
|
223
|
+
"""
|
|
224
|
+
return cls(*map(int, version.split(".")))
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
version_info: VersionInfo = VersionInfo.from_str(__version__)
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import warnings
|
|
2
|
+
import functools
|
|
3
|
+
from typing import Callable, Optional, Tuple, TypeVar
|
|
4
|
+
from typing_extensions import ParamSpec
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
_P = ParamSpec("_P")
|
|
8
|
+
_T = TypeVar("_T")
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
__all__: Tuple[str, ...] = (
|
|
12
|
+
"TagScriptEngineDeprecationWarning",
|
|
13
|
+
"TagScriptEngineAttributeRemovalWarning",
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class TagScriptEngineAttributeRemovalWarning(Warning):
|
|
18
|
+
"""A class for issuing removal warning for TagScriptEngine class attributes."""
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class TagScriptEngineDeprecationWarning(DeprecationWarning):
|
|
22
|
+
"""A class for issuing deprecation warnings for TagScriptEngine modules."""
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def remove(
|
|
26
|
+
name: str, *, reason: Optional[str] = None, version: Optional[str] = None, level: int = 2
|
|
27
|
+
) -> None:
|
|
28
|
+
warnings.warn(
|
|
29
|
+
"Removal: {name}.{reason}{version}".format(
|
|
30
|
+
name=name,
|
|
31
|
+
reason=" ({})".format(reason) if reason else "",
|
|
32
|
+
version=" -- Removal scheduled since version v{}".format(version) if version else "",
|
|
33
|
+
),
|
|
34
|
+
category=TagScriptEngineAttributeRemovalWarning,
|
|
35
|
+
stacklevel=level,
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def removal(
|
|
40
|
+
*,
|
|
41
|
+
name: Optional[str] = None,
|
|
42
|
+
reason: Optional[str] = None,
|
|
43
|
+
version: Optional[str] = None,
|
|
44
|
+
level: int = 3,
|
|
45
|
+
) -> Callable[[Callable[_P, _T]], Callable[_P, _T]]:
|
|
46
|
+
def decorator(func: Callable[_P, _T]) -> Callable[_P, _T]:
|
|
47
|
+
functools.wraps(func)
|
|
48
|
+
|
|
49
|
+
def wrapper(*args: _P.args, **kwargs: _P.kwargs) -> _T:
|
|
50
|
+
remove(name or func.__name__, reason=reason, version=version, level=level)
|
|
51
|
+
return func(*args, **kwargs)
|
|
52
|
+
|
|
53
|
+
return wrapper
|
|
54
|
+
|
|
55
|
+
return decorator
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
def depricate(
|
|
59
|
+
name: str, *, reason: Optional[str] = None, version: Optional[str] = None, level: int = 2
|
|
60
|
+
) -> None:
|
|
61
|
+
warnings.warn(
|
|
62
|
+
"Deprecated: {name}.{reason}{version}".format(
|
|
63
|
+
name=name,
|
|
64
|
+
reason=" ({})".format(reason) if reason else "",
|
|
65
|
+
version=" -- Deprecated since version v{}.".format(version) if version else "",
|
|
66
|
+
),
|
|
67
|
+
category=TagScriptEngineDeprecationWarning,
|
|
68
|
+
stacklevel=level,
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
def deprecated(
|
|
73
|
+
*,
|
|
74
|
+
name: Optional[str] = None,
|
|
75
|
+
reason: Optional[str] = None,
|
|
76
|
+
version: Optional[str] = None,
|
|
77
|
+
level: int = 3,
|
|
78
|
+
) -> Callable[[Callable[_P, _T]], Callable[_P, _T]]:
|
|
79
|
+
def decorator(func: Callable[_P, _T]) -> Callable[_P, _T]:
|
|
80
|
+
functools.wraps(func)
|
|
81
|
+
|
|
82
|
+
def wrapper(*args: _P.args, **kwargs: _P.kwargs) -> _T:
|
|
83
|
+
depricate(name or func.__name__, reason=reason, version=version, level=level)
|
|
84
|
+
return func(*args, **kwargs)
|
|
85
|
+
|
|
86
|
+
return wrapper
|
|
87
|
+
|
|
88
|
+
return decorator
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from typing import Tuple
|
|
4
|
+
|
|
5
|
+
from .discordadapters import (
|
|
6
|
+
AttributeAdapter as AttributeAdapter,
|
|
7
|
+
DiscordAttributeAdapter as DiscordAttributeAdapter,
|
|
8
|
+
UserAdapter as UserAdapter,
|
|
9
|
+
MemberAdapter as MemberAdapter,
|
|
10
|
+
DMChannelAdapter as DMChannelAdapter,
|
|
11
|
+
ChannelAdapter as ChannelAdapter,
|
|
12
|
+
GuildAdapter as GuildAdapter,
|
|
13
|
+
RoleAdapter as RoleAdapter,
|
|
14
|
+
DiscordObjectAdapter as DiscordObjectAdapter,
|
|
15
|
+
)
|
|
16
|
+
from .functionadapter import (
|
|
17
|
+
FunctionAdapter as FunctionAdapter,
|
|
18
|
+
)
|
|
19
|
+
from .intadapter import (
|
|
20
|
+
IntAdapter as IntAdapter,
|
|
21
|
+
)
|
|
22
|
+
from .objectadapter import (
|
|
23
|
+
SafeObjectAdapter as SafeObjectAdapter,
|
|
24
|
+
)
|
|
25
|
+
from .redbotadapters import (
|
|
26
|
+
RedCommandAdapter as RedCommandAdapter,
|
|
27
|
+
RedBotAdapter as RedBotAdapter,
|
|
28
|
+
)
|
|
29
|
+
from .stringadapter import (
|
|
30
|
+
StringAdapter as StringAdapter,
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
__all__: Tuple[str, ...] = (
|
|
35
|
+
"SafeObjectAdapter",
|
|
36
|
+
"StringAdapter",
|
|
37
|
+
"IntAdapter",
|
|
38
|
+
"FunctionAdapter",
|
|
39
|
+
"AttributeAdapter",
|
|
40
|
+
"DiscordAttributeAdapter",
|
|
41
|
+
"UserAdapter",
|
|
42
|
+
"MemberAdapter",
|
|
43
|
+
"DMChannelAdapter",
|
|
44
|
+
"ChannelAdapter",
|
|
45
|
+
"GuildAdapter",
|
|
46
|
+
"RoleAdapter",
|
|
47
|
+
"DiscordObjectAdapter",
|
|
48
|
+
"RedCommandAdapter",
|
|
49
|
+
"RedBotAdapter",
|
|
50
|
+
)
|