Source code for bTagScript.block.discord_blocks.redirect_block

from typing import Optional

from ...interface import verb_required_block
from ...interpreter import Context


[docs]class RedirectBlock(verb_required_block(True, parameter=True)): """ Redirects the tag response to either the given channel, the author's DMs, or uses a reply based on what is passed to the parameter. **Usage:** ``{redirect(<"dm"|"reply"|channel>)}`` **Payload:** ``None`` **Parameter:** ``"dm", "reply", "channel"`` **Examples:** .. tagscript:: {redirect(dm)} {redirect(reply)} {redirect(#general)} {redirect(626861902521434160)} """ ACCEPTED_NAMES = ("redirect",)
[docs] def process(self, ctx: Context) -> Optional[str]: """ Process the redirect block and params """ param = ctx.verb.parameter.strip() if param.lower() == "dm": target = "dm" elif param.lower() == "reply": target = "reply" else: target = param ctx.response.actions["target"] = target return ""