def get_slack_config(ssm_client: BaseClient, token=None) -> dict:
    prefix = "/FukuokaDeLongiBot/Slack/"
    option = {"Path": prefix, "WithDecryption": True}
    if token is not None:
        option["NextToken"] = token
    resp = ssm_client.get_parameters_by_path(**option)
    result = {x["Name"][len(prefix) :]: x["Value"] for x in resp.get("Parameters", [])}
    if "NextToken" in resp:
        result.update(get_slack_config(ssm_client, token=resp["NextToken"]))
    return result
def get_keys(ssm_client: BaseClient) -> dict:
    option = {"Path": "/twitter/keys", "WithDecryption": True}
    resp = ssm_client.get_parameters_by_path(**option)
    keys = {x["Name"]: x["Value"] for x in resp["Parameters"]}
    return {
        "consumer_key": keys["/twitter/keys/consumer_key"],
        "consumer_secret": keys["/twitter/keys/consumer_secret"],
        "access_token_key": keys["/twitter/keys/access_token_key"],
        "access_token_secret": keys["/twitter/keys/access_token_secret"],
    }