hikari-arc 1.3.4__py3-none-any.whl → 1.4.0__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.
arc/__init__.py CHANGED
@@ -31,6 +31,7 @@ from .command import (
31
31
  ChannelParams,
32
32
  ColorParams,
33
33
  ColourParams,
34
+ EmojiParams,
34
35
  FloatParams,
35
36
  IntParams,
36
37
  MemberParams,
@@ -131,6 +132,7 @@ __all__ = (
131
132
  "MemberParams",
132
133
  "ColorParams",
133
134
  "ColourParams",
135
+ "EmojiParams",
134
136
  "SlashCommand",
135
137
  "SlashGroup",
136
138
  "SlashSubCommand",
arc/abc/client.py CHANGED
@@ -1354,7 +1354,7 @@ class Client(t.Generic[AppT], abc.ABC):
1354
1354
  dir_path = pathlib.Path(dir_path)
1355
1355
 
1356
1356
  try:
1357
- dir_path.resolve().relative_to(pathlib.Path.cwd())
1357
+ dir_path.absolute().relative_to(pathlib.Path.cwd())
1358
1358
  except ValueError:
1359
1359
  raise ExtensionLoadError("dir_path must be relative to the current working directory.")
1360
1360
 
arc/abc/option.py CHANGED
@@ -102,6 +102,9 @@ class OptionType(enum.IntEnum):
102
102
  COLOR = 10002
103
103
  """Denotes a command option where the value will be a color."""
104
104
 
105
+ EMOJI = 10003
106
+ """Denotes a command option where the value will be an emoji."""
107
+
105
108
  @classmethod
106
109
  def from_hikari(cls, option_type: hikari.OptionType) -> OptionType:
107
110
  """Convert a hikari.OptionType to an OptionType."""
@@ -248,8 +251,8 @@ class OptionBase(abc.ABC, t.Generic[T]):
248
251
  "name": self.name,
249
252
  "description": self.description,
250
253
  "autocomplete": False,
251
- "name_localizations": self.name_localizations,
252
- "description_localizations": self.description_localizations,
254
+ "name_localizations": {str(key): value for key, value in self.name_localizations.items()},
255
+ "description_localizations": {str(key): value for key, value in self.description_localizations.items()},
253
256
  }
254
257
 
255
258
  def to_command_option(self) -> hikari.CommandOption:
arc/command/__init__.py CHANGED
@@ -10,6 +10,8 @@ from .option import (
10
10
  ColorParams,
11
11
  ColourOption,
12
12
  ColourParams,
13
+ EmojiOption,
14
+ EmojiParams,
13
15
  FloatOption,
14
16
  FloatParams,
15
17
  IntOption,
@@ -54,6 +56,8 @@ __all__ = (
54
56
  "FloatParams",
55
57
  "UserOption",
56
58
  "UserParams",
59
+ "EmojiParams",
60
+ "EmojiOption",
57
61
  "ChannelOption",
58
62
  "ChannelParams",
59
63
  "RoleOption",
arc/command/message.py CHANGED
@@ -47,7 +47,7 @@ class MessageCommand(CallableCommandBase[ClientT, hikari.api.ContextMenuCommandB
47
47
  default_member_permissions=self.default_permissions,
48
48
  is_dm_enabled=self.is_dm_enabled,
49
49
  is_nsfw=self.is_nsfw,
50
- name_localizations=self.name_localizations, # pyright: ignore reportGeneralTypeIssues
50
+ name_localizations={str(key): value for key, value in self.name_localizations.items()},
51
51
  )
52
52
 
53
53
  async def invoke(
@@ -1,7 +1,16 @@
1
1
  from .attachment import AttachmentOption, AttachmentParams
2
2
  from .bool import BoolOption, BoolParams
3
3
  from .channel import ChannelOption, ChannelParams
4
- from .custom import ColorOption, ColorParams, ColourOption, ColourParams, MemberOption, MemberParams
4
+ from .custom import (
5
+ ColorOption,
6
+ ColorParams,
7
+ ColourOption,
8
+ ColourParams,
9
+ EmojiOption,
10
+ EmojiParams,
11
+ MemberOption,
12
+ MemberParams,
13
+ )
5
14
  from .float import FloatOption, FloatParams
6
15
  from .int import IntOption, IntParams
7
16
  from .mentionable import MentionableOption, MentionableParams
@@ -34,6 +43,8 @@ __all__ = (
34
43
  "ColorParams",
35
44
  "ColourOption",
36
45
  "ColourParams",
46
+ "EmojiOption",
47
+ "EmojiParams",
37
48
  )
38
49
 
39
50
  # MIT License
@@ -1,4 +1,14 @@
1
1
  from .color import ColorOption, ColorParams, ColourOption, ColourParams
2
+ from .emoji import EmojiOption, EmojiParams
2
3
  from .member import MemberOption, MemberParams
3
4
 
4
- __all__ = ("ColorOption", "ColorParams", "ColourOption", "ColourParams", "MemberOption", "MemberParams")
5
+ __all__ = (
6
+ "ColorOption",
7
+ "ColorParams",
8
+ "ColourOption",
9
+ "ColourParams",
10
+ "MemberOption",
11
+ "MemberParams",
12
+ "EmojiOption",
13
+ "EmojiParams",
14
+ )
@@ -0,0 +1,96 @@
1
+ from __future__ import annotations
2
+
3
+ import typing as t
4
+
5
+ import attr
6
+ import hikari
7
+
8
+ from arc.abc.option import ConverterOption, OptionParams, OptionType
9
+ from arc.errors import OptionConverterFailureError
10
+ from arc.internal.types import ClientT
11
+
12
+ if t.TYPE_CHECKING:
13
+ import typing_extensions as te
14
+
15
+
16
+ __all__ = ("EmojiOption", "EmojiParams")
17
+
18
+
19
+ @t.final
20
+ class EmojiParams(OptionParams[hikari.Color]):
21
+ """The parameters for an emoji option.
22
+
23
+ Parameters
24
+ ----------
25
+ description : str
26
+ The description of the option
27
+ name : str
28
+ The name of the option. If not provided, the name of the parameter will be used.
29
+ name_localizations : Mapping[hikari.Locale, str] | None
30
+ The name of the option in different locales
31
+ description_localizations : Mapping[hikari.Locale, str] | None
32
+ The description of the option in different locales
33
+ """
34
+
35
+ __slots__ = ()
36
+
37
+
38
+ @attr.define(slots=True, kw_only=True)
39
+ class EmojiOption(ConverterOption[hikari.Emoji, ClientT, EmojiParams, str]):
40
+ """A slash command option that represents an emoji.
41
+
42
+ ??? hint
43
+ To add an option of this type to your command, add an argument to your command function with the following type hint:
44
+ ```py
45
+ opt_name: arc.Option[hikari.Emoji, EmojiParams(...)]
46
+ ```
47
+ """
48
+
49
+ @property
50
+ def option_type(self) -> OptionType:
51
+ return OptionType.EMOJI
52
+
53
+ def _convert_value(self, value: str) -> hikari.Emoji:
54
+ try:
55
+ return hikari.Emoji.parse(value)
56
+ except ValueError as exc:
57
+ raise OptionConverterFailureError(
58
+ self, value, f"Option '{self.name}' expected a valid color, got {value!r}."
59
+ ) from exc
60
+
61
+ @classmethod
62
+ def _from_params(
63
+ cls, *, name: str, arg_name: str, is_required: bool, params: EmojiParams, **kwargs: t.Any
64
+ ) -> te.Self:
65
+ return cls(
66
+ name=name,
67
+ arg_name=arg_name,
68
+ description=params.description,
69
+ is_required=is_required,
70
+ name_localizations=params.name_localizations,
71
+ description_localizations=params.description_localizations,
72
+ **kwargs,
73
+ )
74
+
75
+
76
+ # MIT License
77
+ #
78
+ # Copyright (c) 2023-present hypergonial
79
+ #
80
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
81
+ # of this software and associated documentation files (the "Software"), to deal
82
+ # in the Software without restriction, including without limitation the rights
83
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
84
+ # copies of the Software, and to permit persons to whom the Software is
85
+ # furnished to do so, subject to the following conditions:
86
+ #
87
+ # The above copyright notice and this permission notice shall be included in all
88
+ # copies or substantial portions of the Software.
89
+ #
90
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
91
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
92
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
93
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
94
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
95
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
96
+ # SOFTWARE.
arc/command/slash.py CHANGED
@@ -110,8 +110,8 @@ class SlashCommand(CallableCommandBase[ClientT, hikari.api.SlashCommandBuilder])
110
110
  default_member_permissions=self.default_permissions,
111
111
  is_dm_enabled=self.is_dm_enabled,
112
112
  is_nsfw=self.is_nsfw,
113
- name_localizations=self.name_localizations, # pyright: ignore reportGeneralTypeIssues
114
- description_localizations=self.description_localizations, # pyright: ignore reportGeneralTypeIssues
113
+ name_localizations={str(key): value for key, value in self.name_localizations.items()},
114
+ description_localizations={str(key): value for key, value in self.description_localizations.items()},
115
115
  )
116
116
 
117
117
  async def invoke(
@@ -265,8 +265,8 @@ class SlashGroup(CommandBase[ClientT, hikari.api.SlashCommandBuilder]):
265
265
  default_member_permissions=self.default_permissions,
266
266
  is_dm_enabled=self.is_dm_enabled,
267
267
  is_nsfw=self.is_nsfw,
268
- name_localizations=self.name_localizations, # pyright: ignore reportGeneralTypeIssues
269
- description_localizations=self.description_localizations, # pyright: ignore reportGeneralTypeIssues
268
+ name_localizations={str(key): value for key, value in self.name_localizations.items()},
269
+ description_localizations={str(key): value for key, value in self.description_localizations.items()},
270
270
  )
271
271
 
272
272
  async def _invoke_subcmd(
@@ -291,7 +291,7 @@ class SlashGroup(CommandBase[ClientT, hikari.api.SlashCommandBuilder]):
291
291
  async def invoke(
292
292
  self, interaction: hikari.CommandInteraction, *args: t.Any, **kwargs: t.Any
293
293
  ) -> Future[ResponseBuilderT] | None:
294
- if interaction.options is None:
294
+ if not interaction.options:
295
295
  raise CommandInvokeError("Cannot invoke slash group with empty options.")
296
296
 
297
297
  # Get first-order subcommand
arc/command/user.py CHANGED
@@ -48,7 +48,7 @@ class UserCommand(CallableCommandBase[ClientT, hikari.api.ContextMenuCommandBuil
48
48
  default_member_permissions=self.default_permissions,
49
49
  is_dm_enabled=self.is_dm_enabled,
50
50
  is_nsfw=self.is_nsfw,
51
- name_localizations=self.name_localizations, # pyright: ignore reportGeneralTypeIssues
51
+ name_localizations={str(key): value for key, value in self.name_localizations.items()},
52
52
  )
53
53
 
54
54
  async def invoke(
arc/context/base.py CHANGED
@@ -107,8 +107,8 @@ class InteractionResponse:
107
107
 
108
108
  __slots__ = ("_context", "_message", "_delete_after_task")
109
109
 
110
- def __init__(self, context: Context[ClientT], message: hikari.Message | None = None) -> None:
111
- self._context: Context[ClientT] = context
110
+ def __init__(self, context: Context[t.Any], message: hikari.Message | None = None) -> None:
111
+ self._context: Context[t.Any] = context
112
112
  self._message: hikari.Message | None = message
113
113
  self._delete_after_task: asyncio.Task[None] | None = None
114
114
 
@@ -418,6 +418,9 @@ class Context(t.Generic[ClientT]):
418
418
  """Gets the channel this context represents, None if in a DM. Requires application cache."""
419
419
  return self._interaction.get_channel()
420
420
 
421
+ @t.overload
422
+ def get_option(self, name: str, opt_type: t.Literal[OptionType.EMOJI]) -> hikari.Emoji | None: ...
423
+
421
424
  @t.overload
422
425
  def get_option(self, name: str, opt_type: t.Literal[OptionType.COLOR]) -> hikari.Color | None: ...
423
426
 
arc/internal/about.py CHANGED
@@ -5,7 +5,7 @@ __author_email__: t.Final[str] = "git@hypergonial.com"
5
5
  __maintainer__: t.Final[str] = "hypergonial"
6
6
  __license__: t.Final[str] = "MIT"
7
7
  __url__: t.Final[str] = "https://github.com/hypergonial/hikari-arc"
8
- __version__: t.Final[str] = "1.3.4"
8
+ __version__: t.Final[str] = "1.4.0"
9
9
 
10
10
  # MIT License
11
11
  #
arc/internal/options.py CHANGED
@@ -23,6 +23,7 @@ OPTIONTYPE_TO_TYPE: dict[OptionType, type[t.Any]] = {
23
23
  OptionType.ATTACHMENT: hikari.Attachment,
24
24
  OptionType.COLOR: hikari.Color,
25
25
  OptionType.MEMBER: hikari.Member,
26
+ OptionType.EMOJI: hikari.Emoji,
26
27
  }
27
28
  """Used for runtime type checking in Context.get_option, not much else at the moment."""
28
29
 
arc/internal/sigparse.py CHANGED
@@ -17,6 +17,8 @@ from arc.command.option import (
17
17
  ChannelParams,
18
18
  ColorOption,
19
19
  ColorParams,
20
+ EmojiOption,
21
+ EmojiParams,
20
22
  FloatOption,
21
23
  FloatParams,
22
24
  IntOption,
@@ -53,6 +55,7 @@ TYPE_TO_OPTION_MAPPING: dict[type[t.Any], type[CommandOptionBase[t.Any, t.Any, t
53
55
  hikari.Member: MemberOption,
54
56
  hikari.InteractionMember: MemberOption,
55
57
  hikari.Color: ColorOption,
58
+ hikari.Emoji: EmojiOption,
56
59
  hikari.User: UserOption,
57
60
  }
58
61
 
@@ -68,6 +71,7 @@ OPT_TO_PARAMS_MAPPING: dict[type[CommandOptionBase[t.Any, t.Any, t.Any]], type[t
68
71
  AttachmentOption: AttachmentParams,
69
72
  MemberOption: MemberParams,
70
73
  ColorOption: ColorParams,
74
+ EmojiOption: EmojiParams,
71
75
  }
72
76
 
73
77
  BASE_CHANNEL_TYPE_MAP: dict[type[hikari.PartialChannel], hikari.ChannelType] = {
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hikari-arc
3
- Version: 1.3.4
3
+ Version: 1.4.0
4
4
  Summary: A command handler for hikari with a focus on type-safety and correctness.
5
5
  Home-page: https://github.com/hypergonial/hikari-arc
6
6
  Author: hypergonial
@@ -15,40 +15,49 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
15
15
  Classifier: Programming Language :: Python :: 3.10
16
16
  Classifier: Programming Language :: Python :: 3.11
17
17
  Classifier: Programming Language :: Python :: 3.12
18
+ Classifier: Programming Language :: Python :: 3.13
18
19
  Classifier: Programming Language :: Python :: Implementation :: CPython
19
20
  Classifier: Programming Language :: Python :: 3 :: Only
20
21
  Classifier: Topic :: Software Development :: Libraries
21
22
  Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
22
23
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
23
- Requires-Python: >=3.10.0,<3.13
24
+ Requires-Python: >=3.10.0,<3.14
24
25
  Description-Content-Type: text/markdown
25
26
  License-File: LICENSE
26
- Requires-Dist: hikari >=2.0.0.dev122
27
+ Requires-Dist: hikari >=2.0.0
27
28
  Requires-Dist: alluka <0.4,>=0.3.0
28
29
  Requires-Dist: attrs >=23.1
29
30
  Requires-Dist: colorama ; sys_platform=="win32"
30
31
  Provides-Extra: cron
31
- Requires-Dist: croniter ==2.0.5 ; extra == 'cron'
32
- Requires-Dist: types-croniter ==2.0.0.20240423 ; extra == 'cron'
32
+ Requires-Dist: croniter ==3.0.3 ; extra == 'cron'
33
+ Requires-Dist: types-croniter ==3.0.3.20240731 ; extra == 'cron'
33
34
  Provides-Extra: dev
34
- Requires-Dist: ruff ==0.4.6 ; extra == 'dev'
35
- Requires-Dist: pyright ==1.1.365 ; extra == 'dev'
35
+ Requires-Dist: ruff ==0.6.9 ; extra == 'dev'
36
+ Requires-Dist: pyright ==1.1.369 ; extra == 'dev'
36
37
  Requires-Dist: nox ==2024.4.15 ; extra == 'dev'
37
- Requires-Dist: typing-extensions ==4.12.0 ; extra == 'dev'
38
- Requires-Dist: pytest ==8.2.1 ; extra == 'dev'
39
- Requires-Dist: pytest-asyncio ==0.23.7 ; extra == 'dev'
38
+ Requires-Dist: typing-extensions ==4.12.2 ; extra == 'dev'
39
+ Requires-Dist: pytest ==8.3.2 ; extra == 'dev'
40
+ Requires-Dist: pytest-asyncio ==0.24.0 ; extra == 'dev'
40
41
  Requires-Dist: slotscheck ==0.19.0 ; extra == 'dev'
41
42
  Provides-Extra: docs
42
- Requires-Dist: mkdocs-material[imaging] ~=9.5.25 ; extra == 'docs'
43
+ Requires-Dist: mkdocs-material[imaging] ~=9.5.39 ; extra == 'docs'
43
44
  Requires-Dist: mkdocs ~=1.6.0 ; extra == 'docs'
44
- Requires-Dist: mkdocstrings-python ~=1.10.3 ; extra == 'docs'
45
- Requires-Dist: black ~=24.4.2 ; extra == 'docs'
46
- Requires-Dist: griffe-inherited-docstrings ~=1.0.0 ; extra == 'docs'
45
+ Requires-Dist: mkdocstrings-python ~=1.11.1 ; extra == 'docs'
46
+ Requires-Dist: black ~=24.8.0 ; extra == 'docs'
47
+ Requires-Dist: griffe-inherited-docstrings ~=1.0.1 ; extra == 'docs'
47
48
  Requires-Dist: mkdocs-glightbox ~=0.4.0 ; extra == 'docs'
48
49
  Provides-Extra: rest
49
- Requires-Dist: hikari[server] >=2.0.0.dev122 ; extra == 'rest'
50
+ Requires-Dist: hikari[server] >=2.0.0 ; extra == 'rest'
50
51
 
51
- # hikari-arc
52
+ <div align="center">
53
+ <picture>
54
+ <source media="(prefers-color-scheme: dark)" srcset="./docs/assets/branding/composed-darkmode.svg">
55
+ <source media="(prefers-color-scheme: light)" srcset="./docs/assets/branding/composed-lightmode.svg">
56
+ <img alt="The arc logo" src="./docs/assets/branding/composed-lightmode.svg" width="30%">
57
+ </picture>
58
+ </div>
59
+
60
+ ---
52
61
 
53
62
  <div align="center">
54
63
 
@@ -120,6 +129,8 @@ See [Contributing](./CONTRIBUTING.md).
120
129
  - [`Tanjun`](https://github.com/FasterSpeeding/Tanjun) - For the idea of using `typing.Annotated` and [dependency injection](https://arc.hypergonial.com/guides/dependency_injection/) in a command handler. `arc` also uses the same dependency injection library, [`Alluka`](https://github.com/FasterSpeeding/Alluka), under the hood.
121
130
  - [`hikari-crescent`](https://github.com/hikari-crescent/hikari-crescent) The design of [hooks](https://arc.hypergonial.com/guides/hooks/) is largely inspired by `crescent`.
122
131
  - [`FastAPI`](https://github.com/tiangolo/fastapi) - Some design ideas and most of the [documentation](https://arc.hypergonial.com/) [configuration](https://github.com/hypergonial/hikari-arc/blob/main/mkdocs.yml) derives from `FastAPI`.
132
+ - The `arc` logo was made by [@PythonTryHard](https://github.com/PythonTryHard).
133
+
123
134
 
124
135
  ## Links
125
136
 
@@ -1,4 +1,4 @@
1
- arc/__init__.py,sha256=jNbK-SPm7T-O5Ej555Obxni9SyfQ05Z2i_G_DwGVggw,6029
1
+ arc/__init__.py,sha256=JPwNv9HgqQpzA3QdbDmU3BLVWoc5UrMySzAksYwkq8E,6065
2
2
  arc/__main__.py,sha256=ClAG2bqkzmJfKrEMYTVzi0O5--8eY_QFuNAqsMmwVQY,2012
3
3
  arc/client.py,sha256=NyuXMmm087SggW82Oekw-VjQ4LhqgeBJG2qhl7SThy4,17850
4
4
  arc/errors.py,sha256=_RLNY-iivsbogHlv_ofSU8TwoIewOGZ_ruf6EKtPvbY,6802
@@ -8,19 +8,19 @@ arc/locale.py,sha256=nEKKQi-oKdU8VZQdWdFTL-tNECwhtTVv3I3vTsU_1f8,4921
8
8
  arc/plugin.py,sha256=8-TGlfxPUYy6uRr-o_LXYD4t5CnQ1lQvQ0psGkkI6L0,8622
9
9
  arc/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  arc/abc/__init__.py,sha256=J9KxcN9gHHKW_GDrJD_5fu76Ya6l4XvPHe0Vdqza0Pk,2277
11
- arc/abc/client.py,sha256=iXcWXYx-5Mv6fUWx7inxw6T93gNgd_zTpA-luFtpVcQ,54108
11
+ arc/abc/client.py,sha256=i9Zrj_DwIpfzPf1SjLvpRXF2q1WkhyJnmoWUX-BV2mc,54109
12
12
  arc/abc/command.py,sha256=u2wjx4PHFWlCFz2OyuMNOUSCf5l0Y1rn0d8yjVPtGC0,28462
13
13
  arc/abc/concurrency_limiting.py,sha256=Ed3AUb0veY2H85X8nz9qnAPFC9aRpx9dc4xApxzaLwE,4665
14
14
  arc/abc/error_handler.py,sha256=MvT6Pl6iCuTyRi8KFQBLzoPJLDS6UcH_nzLtxFmeRHw,3701
15
15
  arc/abc/hookable.py,sha256=qDb-PLJcLE8cE49YKQGvNUQ6B2B5ALRcPVssEXeznNw,5484
16
16
  arc/abc/limiter.py,sha256=kAPzIcoXcanAFNWIRmdIxelJHT4lb6HVaIwiDcpOdWI,1766
17
- arc/abc/option.py,sha256=jpEmCFuWI8_Qq36MZrKUxeU2JsywuANdQ6MYqScXu_E,12981
17
+ arc/abc/option.py,sha256=1kmFw_cM2pPy-3nR1vHsoL1vi2ZjMl-G7Pkpd8xJwYo,13157
18
18
  arc/abc/plugin.py,sha256=VtR6qcjF3QUlKWHinp8Z6xK2NSe-Pq0jPaERmn1erl0,19700
19
- arc/command/__init__.py,sha256=TrVhqqfVR9K_RyMbng9TKZuix4nVLbTYOb78GZNOd8U,2542
20
- arc/command/message.py,sha256=Q-kxmQV2SajXPoEfol6UlC7DM7tIsOPQRwzuTH5L3a8,5943
21
- arc/command/slash.py,sha256=Vl8npjqxf2Dt3Mc1wqbnPA1QeDeTsReyn-KOYwo0hd0,35491
22
- arc/command/user.py,sha256=W8a4wPqLF2rHODCLgR4CZpQD3wGZQcnZ-1vHq_X9nks,5995
23
- arc/command/option/__init__.py,sha256=hEldXTprteztvDjUIq6oTEhD8ayN5Dwfg56E_18abhY,2117
19
+ arc/command/__init__.py,sha256=McEwPGb2lAgaE_E_qbdMLyiQEeoMd1U5hcSRqsAgVuU,2614
20
+ arc/command/message.py,sha256=P7UXhs3MGca4FKAvaMDPAKyQG8l0ztoU9DI6aCoD3JM,5944
21
+ arc/command/slash.py,sha256=XkLkgCthgpcRXpxnnpE6PAb2nU1YxVWNOxUYrbBVrTI,35491
22
+ arc/command/user.py,sha256=qQnaVsb3sLvhAT5ddSUIx5wvuriZWfL-hYtJW4xlWh8,5996
23
+ arc/command/option/__init__.py,sha256=wsfMPnRe-zTdOd1xPd562GsAn9LDGmihll5wk8BJzKQ,2218
24
24
  arc/command/option/attachment.py,sha256=N9DEVg3zO8hcJbU2fQyJGARfJl1DZQSd_7T5tX3Bxts,3004
25
25
  arc/command/option/bool.py,sha256=2rKV60LzAlKVUG4lGyNKP41eWMu5cRFLnNBn_ucdfDE,2902
26
26
  arc/command/option/channel.py,sha256=RHGehb2zKEMxW35Y5m18p7oTaXUAJ_ARaMTeinAqNvE,3718
@@ -30,18 +30,19 @@ arc/command/option/mentionable.py,sha256=_mVHoQbI-kxI9oM5IxIwo-P-Yh19qbO5l_2oa2O
30
30
  arc/command/option/role.py,sha256=i-eC7Nj6rIqRyg1bwwXFKB6cZ9OspC9Rjc_kXVa5BoI,2934
31
31
  arc/command/option/str.py,sha256=3Qr9Y2uoyrUNGeJL49Jjh9ps12_nbOHioDEVWB8uSac,5267
32
32
  arc/command/option/user.py,sha256=Qf9dqqmsSPB-yBjT4qAupKRfF1UHh9P3rKXZnRahFYE,2922
33
- arc/command/option/custom/__init__.py,sha256=rAAtOTZNLN0jKLncUH7kP35zpVyIMTuYvRazqG31axQ,225
33
+ arc/command/option/custom/__init__.py,sha256=4XPgx8_kg7M-_nyUTes3qibMqY-ikw8gOy1AP443VWs,334
34
34
  arc/command/option/custom/color.py,sha256=eBO85edOVztUu_m5kdvVGm0XYUVl9bpmWYTWizzOnTo,3474
35
+ arc/command/option/custom/emoji.py,sha256=YcgZeGCDUDRavmacw9OSOo8GD5ChyT1K7a3qHPqvbZg,3302
35
36
  arc/command/option/custom/member.py,sha256=Jjn0ZWex6fv9x1iSUqcyFSAr90Oq8cK6OFCIQcr5HHA,3338
36
37
  arc/context/__init__.py,sha256=MOc71Up8gUAN8WfZkIzu3lDQhwZlwZbWFYWy3V7yCVQ,1303
37
38
  arc/context/autocomplete.py,sha256=YOu6leCKH0mfGVj0vmo4kj1_cWUM6c_vjgooymQ6sYY,3797
38
- arc/context/base.py,sha256=4hF_p-_mnzhdw5MlVLN7EATfKg8jGAKRkkXtxRggQbc,39976
39
+ arc/context/base.py,sha256=BZ5God4NWyEuELIKhUrzfkV8FPFzxjADEW5CamPqfY8,40092
39
40
  arc/ext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
41
  arc/internal/__init__.py,sha256=kZKBSFOkaDLe5kBvxiCQ-MWRPUZ_GBZdWwINPMkSbvo,1436
41
- arc/internal/about.py,sha256=e677O8g83KO6DwVEHkwXHRKJVONV-usPtnl9V3CkmQQ,1414
42
+ arc/internal/about.py,sha256=3vEV688_BuCInq4NJNxuWRWgiGMm8lQN_wq32biAMKs,1414
42
43
  arc/internal/deprecation.py,sha256=Lnirv1z_oj6QJvbnd38TwHQnhHhFD2rTqqvH96pxiWE,2204
43
- arc/internal/options.py,sha256=EODBho9BdHOgjqqOVAEEbwOkZJiVfjFDDpUztGKUdK4,3622
44
- arc/internal/sigparse.py,sha256=EsewKxcidtuoY0clEAVh8nVGmTq5hvAHxqokGOAcZPk,13518
44
+ arc/internal/options.py,sha256=4Z56tG7gxpMR4wCgno85dD23-62GfFnidZsFlHvYp7c,3658
45
+ arc/internal/sigparse.py,sha256=-Arw1lvoHJzlr53ydk8PvNQU0dSOXGA5dQ1r1GL3EMk,13613
45
46
  arc/internal/sync.py,sha256=ApiHD66Gi8BOSUcEKRiZ_n03u9MNkftNjSDZz5Wk1_M,12589
46
47
  arc/internal/types.py,sha256=NXemzM6cR2pH2vV9CCr6CSZFJZNY_yaovzNifppUkUA,4365
47
48
  arc/internal/version.py,sha256=bZFtIbhehFhsGU2yyTVHb8YIvCYhp9iyueTalCKFtsg,2201
@@ -52,8 +53,8 @@ arc/utils/ratelimiter.py,sha256=YPETOjQOga8RazYoK3Ghueh2TsOdfkH7WM58dr3ybcU,9477
52
53
  arc/utils/hooks/__init__.py,sha256=pXlAQ1zGxQV-bBeeL8sKRkUyO1PmEazT_a_XKtf7GFA,515
53
54
  arc/utils/hooks/basic.py,sha256=PushSBY03A8Yq60uTRyQKLL74FUqF0DmumzXAW8kaGk,5902
54
55
  arc/utils/hooks/limiters.py,sha256=D0brZBnLqhUF7ycs16JllsW6gYqdlHnNOISH8iMBWkw,7490
55
- hikari_arc-1.3.4.dist-info/LICENSE,sha256=q_osUjCCfQVI7zzgteLMZ-RlhXlB4rqQE8I0DGh7ur4,1076
56
- hikari_arc-1.3.4.dist-info/METADATA,sha256=WBCIGP0HraGboqdAYm5BMN_5mgviXgf3gedBRQh7K-o,5563
57
- hikari_arc-1.3.4.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
58
- hikari_arc-1.3.4.dist-info/top_level.txt,sha256=kTs_REfGfSlIT6Hq_kxH-MtDlOO6LPwFwkOoNdDCnJ4,4
59
- hikari_arc-1.3.4.dist-info/RECORD,,
56
+ hikari_arc-1.4.0.dist-info/LICENSE,sha256=q_osUjCCfQVI7zzgteLMZ-RlhXlB4rqQE8I0DGh7ur4,1076
57
+ hikari_arc-1.4.0.dist-info/METADATA,sha256=FrmWNIzKJ3sd20VqLRMQmmlRnxoruzhuco-ka9vfIME,6046
58
+ hikari_arc-1.4.0.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
59
+ hikari_arc-1.4.0.dist-info/top_level.txt,sha256=kTs_REfGfSlIT6Hq_kxH-MtDlOO6LPwFwkOoNdDCnJ4,4
60
+ hikari_arc-1.4.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: setuptools (75.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5