|
@@ -2,7 +2,7 @@ from typing import Optional
|
|
|
import datetime
|
|
|
|
|
|
from rollbot import as_command, initialize_data, RollbotFailure
|
|
|
-from rollbot.injection import Subcommand, Data, ChannelAdmin, Channel, Lazy
|
|
|
+from rollbot.injection import Subcommand, Data, ChannelAdmin, OriginAdmin, Channel, Lazy
|
|
|
|
|
|
|
|
|
@initialize_data
|
|
@@ -102,7 +102,8 @@ async def session(
|
|
|
subc: Subcommand,
|
|
|
get_sesh: Lazy(Data(DnDSession).For(Channel)),
|
|
|
store: Data(DnDSession),
|
|
|
- admin: ChannelAdmin,
|
|
|
+ channel_admin: ChannelAdmin,
|
|
|
+ origin_admin: OriginAdmin,
|
|
|
channel: Channel,
|
|
|
):
|
|
|
if subc is None:
|
|
@@ -111,7 +112,7 @@ async def session(
|
|
|
if subc.name not in SUBCOMMANDS:
|
|
|
RollbotFailure.INVALID_SUBCOMMAND.raise_exc(detail=VALID_DETAIL)
|
|
|
|
|
|
- if not admin and subc.name in NEEDS_ADMIN:
|
|
|
+ if not (channel_admin or origin_admin) and subc.name in NEEDS_ADMIN:
|
|
|
RollbotFailure.PERMISSIONS.raise_exc()
|
|
|
|
|
|
sesh = await get_sesh()
|