2024年3月12日火曜日

Google Chat に Webhook で投稿するときに文字色を変えたい

Google Chat に Webhook で投稿するときに文字色を変えたい

発端

「開始時と終了時にChatにメッセージ投げてくれるのはいんだけど、同じ文字数で同じ色だとわかりにくいんだよね。」
と言われてしまった。俺もそう思ってた。

どうすればいい?

普通にChatにメッセージ投げる場合は

{ "text":"処理を開始しました" }

と簡単なjsonをWebhookのurlにcurlでpostしれやればOK。文字を太くしたり、斜体にするのもおなじみのMarkdown表記で大丈夫だが、色を付けるとなると途端に面倒になる。

文字に色をつけてChatに投稿するにはCard V2をpostする必要がある。
最低限、一部の文字に色を付けるには以下のようなjsonにすればよい。

{ "cardsV2": [ { "card": { "sections": [ { "widgets": [ { "decoratedText": { "text": "処理を<font color=\"#ff0000\">開始</font>しました" } } ] } ] } } ] }

一気に面倒になった。
[]{}の具合が変更するときに面倒なら、こんな具合にjqを使ってみるのもいいかも。

jq -c -n '.cardsV2 = [.card.sections = [.widgets = [.decoratedText.text = "処理を<font color=\"#ff0000\">開始</font>しました"]]]'

2023年9月17日日曜日

簡易版グラインダールールの紹介【書いてる途中】

grinder_lite.md

ぐらいんだーって遊び方があるよ

説明

どういう目的で、こんな遊びだよ レベル、G/Pの調整がなぜ行われているかの説明

遊び方

始め方、手順、通常とは違うイニシアチブ、移動・射撃

機体一覧

Columnの説明

  • Level1

    機種名 型番 G/P BV ton 製品 PDF
    Wasp WSP-1A 0/0 930 20 c A.58
    Locust LCT-1E 2/2 974 20 a A.52
    Commando COM-1B 2/4 949 25 a C.12
    Jenner JR7-D 4/4 963 35 d B.83
    Panther PNT-9R 3/5 923 35 d B.85
    Wolfhound WLF-1 4/5 949 35 d B.81
  • Level2

    機種名 型番 G/P BV ton 製品 PDF
    Blackjack BJ-1 2/3 1595 45 d B.93
    Phoenix Hawk PXH-1 2/4 1604 45 c A.67
    Vindicator VND-1R 2/4 1577 45 b D.105
    Shadow Hawk SHD-2H 3/3 1533 55 a A.73
    Wolverine WVR-6R 3/3 1586 55 a A.76
    Griffin GRF-1N 3/5 1527 55 b A.69
    Rifleman RFL-3N 2/4 1601 60 c A.79
  • Level3

    機種名 型番 G/P BV ton 製品 PDF
    Thunderbolt TDR-5S 3/4 1763 65 a A.84
    Catapult CPLT-C1 3/4 1847 65 a A.81
    Warhammer WHM-6R 3/3 1871 70 c A.90
    Awesome AWS-8Q 4/5 1926 80 a A.94
    BattleMaster BLR-1G 4/3 1823 85 a A.96
  • 製品

    • a: Game of Armored Combat
    • b: Beginner Box
    • c: Inner Sphere Battle Lance
    • d: Inner Sphere Striker Lance
  • PDF

    • A: BATTLETECH ForcePacks Record Sheets - Wave One
      https://bg.battletech.com/download/BATTLETECH%20ForcePacks%20Record%20Sheets%20-%20Wave%20One.pdf
    • B: BATTLETECH ForcePacks Record Sheets - Wave Two
      https://bg.battletech.com/download/BATTLETECH%20ForcePacks%20Record%20Sheets%20-%20Wave%20Two.pdf
    • C: BATTLETECH: Record Sheet: 3050U Unabridged: Inner Sphere
      https://store.catalystgamelabs.com/collections/battletech/products/battletech-record-sheet-3050u-unabridged-inner-sphere-pdf
    • D: BattleTech: Record Sheets: Succession Wars
      https://store.catalystgamelabs.com/collections/battletech/products/battletech-record-sheets-succession-wars

バトルテック製品ガイド

battletech_guide.md

バトルテックの発売元であるCatalystから様々な製品が発売されています。公式ストア
しかしながら、色々と並んでいて何が何やらさっぱり。
大雑把にわけて以下のような製品があります。

  • ボックスセット
  • ミニチュアセット
  • ルールブック
  • ゲーム用アイテム
  • 小説・設定資料

というわけで、それぞれのちょっとした製品ガイドのようなものを書いてみようと思います。

ボックスセット

ゲームに必要なルールブック、ミニチュア、マップ、そのほか諸々のアイテムがセットになった製品です。
値段から見るとお買い得です。
現在発売されているのは

  • a Game of Armored Combat
  • Beginner Box
  • Clan Invasion
  • Alpha Strike

あとはアメリカのディスカウントストアTarget専売の「Essentials」というのがありますが、Targetが国際配送を行っていないので日本国内からの入手はかなり難しいです。

a Game of Armored Combat

まずはこれを入手しましょう。これが基本です。
バトルテックをプレイするうえで基本的なルールが含まれたセットです。
このボックスセット(とプレイヤー)があればバトルテックがプレイできます。

Begginer Box

正直なところ微妙なセットです。
マップとミニチュアを安く入手するための手段、と割り切るのがいいかも。
クイックスタートルールが付属していますが、省略している部分が多すぎて、魅力がスポイルされすぎています。
このボックスでしか入手できないVindicatorというメックのミニチュアが含まれているのが憎いところです。

Clan Invasion

バトルテック世界で時代が進み「クラン」と呼ばれる連中が攻めてきた、という設定の追加ルール、新しいメックを中心としたセットです。
強力な武装が導入され、ゲームの進行がダイナミックになりプレイ時間が短くなるような工夫がされているなと感じます。

Alpha Strike

通常のルールとは一変し、テレイン(岩や木、建造物)を配置したマップ上にたくさんミニチュアを並べ、それぞれのメックに設定されたインチ数動かすアルファストライクというルールで遊ぶためのセットです。ウォーハンマーをはじめとしたミニチュアゲームでなじみのあるルールですね。
射撃のルールも簡略化され、軽量級のメックが重量級メックをやっつける場面も発生します。
付属のルールはアルファストライクで遊ぶための基本的なルールになります。アルファストライクで遊ぶための各メックのデータを記したアルファストライクカードは上記の各ボックスセット、後述のミニチュアセットすべてに含まれています。
ミニチュアがたくさん付属していて、何気にお買い得です。

ミニチュアセット

高機動型の偵察機や重装甲・高火力のダメージソースとなる機体など、様々なコンセプトに基づいて組まれたメックのミニチュアセットです。
バトルテックの小説に出てくる軍団の機体がセットになったものもあります。
PDF形式のレコードシートが公式HPの(Downloads-RecordSheets)[https://bg.battletech.com/downloads/]から無償でダウンロードできます。
用紙サイズがアメリカの用紙サイズになっているので、印刷の際は注意しましょう。
(Alpha Strike付属のミニチュアのレコードシートもここからダウンロードできます)

ルールブック

各ボックスセットに付属のルールは遊ぶための基本的なルールになっています。追加のルール、詳細な判定、武装の効果等はルールブックを参照することになります。なくても遊べるんですけどね。
また、「こういう遊びをしたい」という場合にも有効です。
PDF版、物理本とPDFのセット、の2種類が売られています。

Total Warfare

メック・歩兵・戦車・航空機、その他すべてのルールが載った本。

BattleMech Manual

上記からメック戦闘だけをまとめた本。読み易い。

Tactical Operations

気象や条件の厳しい惑星、砲撃や地雷というったオプションルールを扱ったものです。

Campaign Operations

部隊を構築、運用してキャンペーンとして遊ぶためのルールを扱ったものです。

Strategic Operations

バトルテックの世界において、人類は宇宙に進出しています。その宇宙空間での戦闘を扱うためのルールです。

Techmanual

異色のルールブックで、メックをデザインするための資料となるルールです。
バックグラウンドとなるテクノロジーの解説も行われています。

Alpha Strike: Commanders Edition

アルファストライクで遊ぶためのすべてのルールを扱ったものです。

MECHWARRIOR DESTINY

BATTLETECH A Time Of War

これらの2冊はTRPGとして遊ぶためのルールです。

ゲーム用アイテム

ゲームをちょっと便利にするカウンターパックや各勢力のアイコンが彫られたダイスなどありますが、最も重要なのはマップパックとバトルマットだと思います。
各ボックスセット付属のマップでばかりで遊んでいるとマンネリ化は避けられません。そこで、新し戦場で新しい闘争を提供するのがマップパックとバトルマットです。
マップパックは、ボックスセット付属のものと同様に紙に印刷されたマップが何枚かセットになったものです。
バトルマットは、ネオプレンゴムのシートに布に印刷したマップが貼り付けられたものです。マップパックに含まれている地形を連ねて印刷したものもあります。

小説

歴史の長いバトルテックは数々の小説が書かれてきました。
公式ストアで「Fiction」を選択するとリストアップされます。
「SHRAPNEL」は公式雑誌です。

設定資料

公式ストアで「Sourcebooks」、「Tech Readouts」を選択するとリストアップされます。
バトルテック世界の惑星や軍団、時代背景、テクノロジー等の解説資料です。

2023年9月4日月曜日

バトルテック事始め

バトルテック事始め

バトルテックに興味があるんだけど、どれから手を出したらいいのかわからないという声をよく聞きます。
バトルテックの発売元、Catalystに公式ページがあるのですがさっぱりわかりません。
ゲームを始めるには何を買えばいいの?
「BATTLETECH: A GAME OF ARMORED COMBAT」まずはこれを入手しましょう。

BATTLETECH: A GAME OF ARMORED COMBAT

まずはこれ。「BATTLETECH: A GAME OF ARMORED COMBAT」。通称、基本ボックス。
中身は

  • ミニチュア8体
    「メック」と呼ばれるバトルテック世界の巨大戦闘ロボのミニチュアです。
  • ルールブック
    ゲームを遊ぶのに必要な基本となるルールです。
  • レコードシート
    各メックの武装や装甲が記載されています。ゲームで使用します。攻撃時に武装を参照したり、被弾したときに装甲点を減らしたりします。クリアファイルに挟んで、その上から水性ペンでマークするのがおすすめです。
  • リファレンスシート
    ゲームの判定に使う数値がまとめられた厚紙のシートです。ルールブックから抜粋された一番重要なアイテムです。ちなみに、公式通販の箱の写真、内容物一覧のところに2枚入っているようなことが書かれていますが実際は1枚しか入っていません。誤植です。今入手できるものは、内容物一覧の記載は修正されています。
  • 両面マップ2枚
    これがオマエの戦場だ!4つ折りの紙製なので、たくさん遊んでいると折り目がヘロヘロになってきてちょっと悲しい。
  • パイロットカード
    追加ルールで使ったりします。書いている人はほとんど使ったことがありません。
  • 世界観資料
    これを読み込めばゲームをするときに世界観に浸れてもっと楽しめることでしょう!(書いてる人は読んでない)
  • 小説
    バトルテック世界がどんな世界なのかを知るのに大いに役立つことでしょう!(書いてる人は読んでない)
  • メックと追加地形の紙コマ
    付属のミニチュアが足りなくなったときや、マップに変化をつけないときに使う。
  • 6面体ダイス2個
    オマケレベルの品。お気に入りのダイスがあるならそれを使おう!

入手は以下でできます。

  • CMONJAPAN通販
    日本国内での取り扱いなので安心。
  • US Amazon
    取り扱いはAmazon。評判の悪いマケプレ品ではありません。海外からの発送なので送料が取られますがそれほど高くありません。まとめて買っても余計に関税がとられてりしないので安心です。
  • 公式通販
    送料が高いのではっきり言っておすすめできません。

2023年2月19日日曜日

バトルテック製品のミニチュア

ボックスセット

どの製品に何のミニチュアが入ってたっけ?となったので軽くまとめ。

ボックスセット

BattleTech: A Game of Armored Combat (Product code : CAT3500D)

いわゆる「基本ボックス」。

  • Awesome
  • BattleMaster
  • Catapult
  • Commando
  • Locust
  • Shadow Hawk
  • Thunderbolt
  • Wolverine

BattleTech Beginner Box (Product code : CAT35020)

ディスコン。Second Editionに切り替わった。

  • Griffin
  • Wolverine

BattleTech Beginner Box (Product code : CAT35020M)

Wolverine がVindicatorに。

  • Griffin
  • Vindicator

BattleTech: Clan Invasion (Product code : CAT35030)

「クラン侵攻ボックス」キックスターター版のProduct codeは末尾に「K」が付く。

  • Executioner
  • Timber Wolf
  • Nova
  • Grendel
  • Adder
  • Elemental Battle Armor x 2

BATTLETECH: ALPHA STRIKE BOX SET (Product code : CAT35690)

これまでのボックスセットとダブっているものがあるが、武装やポーズが違っていたりする。

  • Archer
  • Atlas
  • Blackjack
  • Fire Moth
  • Locust
  • Nova
  • Phoenix Hawk
  • Pouncer
  • Timber Wolf
  • Warhammer
  • Warhawk
  • Wasp
  • Wraith

BattleTech: Essentials (Product code : -)

Target.com専売。日本での入手難易度は高い。

  • Rifleman
  • Centurion

Force Pack

Clan Command Star (Product code : CAT35720)

  • Dire Wolf
  • Summonder
  • Stormcrow
  • Mist Lynx
  • Shadow Cat

Clan Heavy Striker Star (Product code : CAT35722)

  • Gargoyle
  • Hellbringer
  • Mad Dog
  • Ice Ferret
  • Viper

Clan Fire Star (Product code : CAT35724)

  • Warhawk
  • Nova Cat
  • Cougar
  • Kit Fox
  • Fire Moth

Clan Support Star (Product code : CAT35726)

  • Night Gyr
  • Linebacker
  • Black Lanner
  • Battle Cobra
  • Arctic Cheetah

Clan Heavy Battle Star (Product code : CAT35728)

  • Crossbow
  • Ebon Jaguar
  • Huntsman
  • Kingfisher
  • Turkina

Clan Heavy Star (Product code : CAT35730)

  • Stone Rhino
  • Supernova
  • Marauder IIC
  • Warhammer IIC
  • Hunchback IIC

Clan Striker Star (Product code : CAT35732)

  • Vapor Eagle
  • Conjurer
  • Horned Owl
  • Incubus
  • Piranha

Clan Ad Hoc Star (Product code : CAT35734)

  • Fire Falcon
  • Hellion
  • Howler
  • Kodiak
  • Pack Hunter

Inner Sphere Command Lance (Product code : CAT35721)

  • Archer
  • Marauder
  • Stinger
  • Valkyrie

Inner Sphere Battle Lance (Product code : CAT35723)

  • Warhammer
  • Rifeman
  • Phoenix Hawk
  • Wasp

Inner Sphere Direct Fire Lance (Product code : CAT35725)

  • Atlas
  • Marauder II
  • Orion
  • Crusader

Inner Sphere Heavy Lance (Product code : CAT35727)

  • Banshee
  • Grasshopper
  • Centurion
  • Hatchetman

Inner Sphere Striker Lance (Product code : CAT35729)

  • Blackjack
  • Panther
  • Wolfhound
  • Jenner

Inner Sphere Fire Lance (Product code : CAT35731)

  • Longbow
  • Stalker
  • Zeus
  • Trebuchet

Inner Sphere Heavy Battle Lance (Product code : CAT35733)

  • Nightstar
  • Cataphract
  • Axeman
  • Bushwacker

Inner Sphere Urban Lance (Product code : CAT35735)

  • Victor
  • Enforcer
  • Hunchback
  • Raven

Inner Sphere Support Lance (Product code : CAT35736)

  • Cyclops
  • Thug
  • Dragon
  • Spider

Elemental Star (Product code : CAT35739)

  • Elemental x 5

Legendary MechWarriors Pack (Product code : CAT35740)

  • Archer
  • Dire Wolf
  • Marauder
  • Timber Wolf

ComStar Command Level II (Product code : CAT35737)

  • King Crab
  • Highlander
  • Black Knight
  • Exterminator
  • Sentinel
  • Mercury

Comstar Battle Level II (Product code : CAT35738)

  • Crockett
  • Flashman
  • Guillotine
  • Lancelot
  • Crab
  • Mongoose

Wolf's Dragoons Assault Star (Product code : CAT35739)

  • Annihilator
  • Timber Wolf (ポーズ違い)
  • Rifleman (ポーズ違い)
  • Archer (バリアント機)
  • Blackjack (バリアント機)

Eridani Light Horse Hunter Lance (Product code : CAT35763)

  • Sagittaire
  • Banshee (ポーズ違い)
  • Cyclops (バリアント機)
  • Thunderbolt (ジャンプ中)

Hansen's Roughriders Battle Lance (Product code : CAT35764)

  • Penetrator
  • Atlas (ポーズ違い)
  • Enforcer (バリアント機)
  • Hatchetman (ジャンプ中)

Northwind Highlanders Command Lance (Product code : -)

  • Gunslinger
  • Highlander (ジャンプ中)
  • Grasshopper (バリアント機)
  • Warhammer

Kell Hounds Striker Lance (Product code : -)

  • Nightsky
  • Wolfhound (ポーズ違い)
  • Griffin (バリアント機)
  • Crusader (ジャンプ中)

Snords Irregulars Assault Lance (Product code : -)

  • Spartan
  • FrankenMech
  • Guillotine (ジャンプ中)
  • Highlander (バリアント機)

UrbanMech Lance Force Pack (Product code : CAT35776)

  • UrbanMech
  • UrbanMech (ポーズ違い)
  • UrbanMech (バリアント機)
  • UrbanMech (バリアント機)

Proliferation Cycle (Product code : CAT35775)

  • Firebee
  • Coyotl
  • Icarus II
  • Gladiator
  • BattleAxe
  • Ymir
  • Mackie

2023年1月12日木曜日

ミニチュアフォレスト近くの1日停め放題600円の駐車場

 昨年(2022年)末にミニチュアフォレストの近くに新しくオープンしたコインパーキング、1日停め放題で600円と、一部ミニチュアフォレスト利用者の中で話題になりました。

場所が少しわかりにくいので、地図と写真を載せておきます。

駐車場の位置は塗りつぶした青丸の箇所。

線路沿いの道が一方通行なので要注意。
①の曲がり角
②の位置から。こちら側に4台分のスペース。
③の位置から。こちら側も4台分のスペース。
②と③のスペースは敷地内で仕切られていて移動できないので、②の方が満車なら④の角を曲がって③の側へ。
駐車料金は敷地端の機械で支払い。ナンバープレートの番号を入力して支払うとレシートが出るのでそれを車内フロントガラスから見える位置に置いておくこと。


2022年9月22日木曜日

AWS CLIで「An error occurred (AccessDenied) when (略) with an explicit deny in an identity-based policy」というエラーで失敗する

 MFAが有効になっていて、ユーザーに割り当てられたポリシーに「MFAの認証が行われていないリクエストを拒否する」という設定が行われていると発生する。

すべてがそうというわけではないけど。

aws sts get-session-tokenで取得したトークンを環境変数にセットするとエラーは起きなくなる。が面倒くさいのでスクリプト化がオススメ。

以下、そのスクリプト。jq必須。

#! /bin/bash
unset AWS_ACCESS_KEY_ID
unset AWS_SECRET_ACCESS_KEY
unset AWS_SESSION_TOKEN
USER_ARN=$(aws iam get-user --query "User.Arn" --output text)
MFA_SERI=$(aws iam list-virtual-mfa-devvices --query "VirtualMFADevices[?contains(User.Arn, '${USER_ARN}')].SerialNumber" --output text)
read -p 'input MFA code > ' CODE
CRED=$(aws sts get-session-token --serial-number ${MFA_SERI} --token-code ${CODE})
ID=$(echo ${CRED} | jq -r .Credentials.AccessKeyId)
KEY=$(echo ${CRED} | jq -r .Credentials.SecretAccessKey)
TOKEN=$(echo ${CRED} | jq -r .Credentials.SessionToken)
export AWS_ACCESS_KEY_ID="${ID}"
export AWS_SECRET_ACCESS_KEY="${KEY}"
export AWS_SESSION_TOKEN="${TOKEN}"

スクリプト実行時にsourceをつけること。

例> source getMfaToken.sh