Skip to content

Commit daedb18

Browse files
committed
fix!: syncing global commands.
1 parent 67c9821 commit daedb18

File tree

4 files changed

+28
-25
lines changed

4 files changed

+28
-25
lines changed

interactions/api/http.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1859,11 +1859,12 @@ async def get_application_command(
18591859
"""
18601860
application_id = int(application_id)
18611861

1862-
if not guild_id:
1862+
if guild_id in (None, "None"):
18631863
return await self._req.request(Route("GET", f"/applications/{application_id}/commands"))
1864-
return await self._req.request(
1865-
Route("GET", f"/applications/{application_id}/guilds/{guild_id}/commands")
1866-
)
1864+
else:
1865+
return await self._req.request(
1866+
Route("GET", f"/applications/{application_id}/guilds/{guild_id}/commands")
1867+
)
18671868

18681869
async def create_application_command(
18691870
self, application_id: Union[int, Snowflake], data: dict, guild_id: Optional[int] = None
@@ -1881,7 +1882,7 @@ async def create_application_command(
18811882

18821883
url = (
18831884
f"/applications/{application_id}/commands"
1884-
if not guild_id
1885+
if guild_id in (None, "None")
18851886
else f"/applications/{application_id}/guilds/{guild_id}/commands"
18861887
)
18871888

@@ -1933,7 +1934,7 @@ async def edit_application_command(
19331934
application_id=application_id,
19341935
command_id=command_id,
19351936
)
1936-
if not guild_id
1937+
if guild_id in (None, "None")
19371938
else Route(
19381939
"PATCH",
19391940
"/applications/{application_id}/guilds/" "{guild_id}/commands/{command_id}",
@@ -1965,7 +1966,7 @@ async def delete_application_command(
19651966
command_id=command_id,
19661967
guild_id=guild_id,
19671968
)
1968-
if guild_id
1969+
if guild_id not in (None, "None")
19691970
else Route(
19701971
"DELETE",
19711972
"/applications/{application_id}/commands/{command_id}",

interactions/client.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ async def create(data: ApplicationCommand) -> None:
203203
application_id=command.get("application_id"),
204204
id=command.get("id"),
205205
type=command.get("type"),
206-
guild_id=str(command.get("guild_id")),
206+
guild_id=str(command["guild_id"]) if command.get("guild_id") else None,
207207
name=command.get("name"),
208208
description=command.get("description", ""),
209209
default_permission=command.get("default_permission", False),
@@ -232,7 +232,7 @@ async def create(data: ApplicationCommand) -> None:
232232
application_id=self.me.id,
233233
data=payload._json,
234234
command_id=result.id,
235-
guild_id=result.guild_id,
235+
guild_id=result._json.get("guild_id"),
236236
)
237237
self.http.cache.interactions.add(
238238
Build(id=payload.name, value=payload)
@@ -262,7 +262,7 @@ async def create(data: ApplicationCommand) -> None:
262262
request = await self.http.delete_application_command(
263263
application_id=self.me.id,
264264
command_id=command["id"],
265-
guild_id=command["guild_id"],
265+
guild_id=command.get("guild_id"),
266266
)
267267

268268
if request:

interactions/decor.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,20 @@ def command(
7878
else:
7979
_scope.append(scope)
8080

81-
for guild in _scope:
81+
if _scope:
82+
for guild in _scope:
83+
payload: ApplicationCommand = ApplicationCommand(
84+
type=_type,
85+
guild_id=guild,
86+
name=name,
87+
description=_description,
88+
options=_options,
89+
default_permission=_default_permission,
90+
)
91+
payloads.append(payload)
92+
else:
8293
payload: ApplicationCommand = ApplicationCommand(
8394
type=_type,
84-
guild_id=guild,
8595
name=name,
8696
description=_description,
8797
options=_options,

simple_bot.py

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import interactions
22

3-
bot = interactions.Client(token=open("bot.token").read())
3+
bot = interactions.Client(token=open("bot.token").read(), log_level=-1)
44

55

66
@bot.event
@@ -9,19 +9,11 @@ async def on_ready():
99

1010

1111
@bot.command(
12-
name="basic-command",
13-
description="ever wanted a basic command? well, here it is!",
14-
options=[
15-
interactions.Option(
16-
type=interactions.OptionType.STRING,
17-
name="option",
18-
description="please PLEASE write in me! UwU :(",
19-
required=True,
20-
)
21-
],
12+
name="global-command",
13+
description="ever wanted a global command? well, here it is!",
2214
)
23-
async def basic_command(ctx, option):
24-
await ctx.send(f"{option}")
15+
async def basic_command(ctx):
16+
await ctx.send("Global commands are back in action, baby!")
2517

2618

2719
# bot.load("simple_cog")

0 commit comments

Comments
 (0)