[WIP] もふもふな記念日をqiitadonにtootする

# はじめに

最近、[Qiitadon](https://qiitadon.com/) はじめたので、bot を作って「もふもふな記念日」に自動で toot しようと思いました。

1. Qiita/Qiitadon は、（基本的に）プログラマ/エンジニアのためのサービスです。
2. プログラマ/エンジニアはストレスが多いため、癒しが必要です。
3. もふもふは癒しです

なんという、すきのない三段論法！　てっぺきな理論武装！
犬猫がいると仕事の効率も上がるという話もありますし！

# 記念日リスト

まず、記念日を調べます。

最終的には cron レベルの設定で簡単に toot したいので、基本は月日が固定されている、１日だけのものに絞りたいと思います。
（ｎ月の第ｎ何曜日、とかだとちょっと面倒なので無視。あとは「なんとか週間」とか、年によって日付が変わるものも同様）

でもリストには載せるかも。

基本、モフモフな記念日のみが対象（ピヨピヨな子たちも、モフモフに含む）。
一部、ゾウとかカバとかサイとか、本当にモフモフなのか微妙な子たちもいるけど。

## 1月14日

### タロとジロの日

* 由来：1959(昭和34)年1月14日に、（南極に置き去りにされた）タロとジロの生存が確認されたことによるもの。
* 別名：「愛と希望と勇気の日」とも言うようです。
* 制定年：
* 制定元：

## 1月21日

### リスの日（アメリカ）

* 正式名：Squirrel Appreciation Day
* 由来：
* 目的：身近にいるリスが、無事に冬を越せるように、リスさんについて理解を深めよう
* 制定年：2001年
* 制定元：アメリカのノースカロライナ州にある、野生動物のリハビリを行っている自然保護施設のスタッフが提唱（らしい）

## 1月31日

### 国際シマウマの日

* 正式名：International Zebra Day
* 由来：
* 制定年：
* 制定元：

## 2月2日

### 世界ダチョウの日

* 正式名：World Ostrich Day
* 由来：ダチョウが2本のつま先をもつ唯一の鳥であるため（他の鳥は３～４本のつま先を持つ）
* 目的：ダチョウの魅力や野生下の現状を広めるため
* 制定年：2020年
* 制定元：ニュージーランドのオークランド動物園の飼育員が発起人

https://www.facebook.com/WorldOstrichDay/

### そり犬の日（アメリカ）

* 正式名：Sled Dog Day
* 由来：
* 目的：
* 制定年：
* 制定元：

## 2月5日

### ピカチュウの日

* 由来：『ポケットモンスター』シリーズのキャラクター、ピカチュウのポケモン全国図鑑ナンバー「No.025」から
* 目的：
* 制定年：
* 制定元：ファンの間で記念日化していたもの。その後、2020年にポケモン情報局（公式Twitter）がツイートで取り上げられたことから、事実上の公認記念日とみなす人も多い。
  * [該当ツイート](https://twitter.com/poke_times/status/1224981057952415744?s=20)

https://ja.wikipedia.org/wiki/2%E6%9C%885%E6%97%A5

## 2月8日

### ニワトリの日

* 由来：語呂合わせ
* 目的：ふだん何気なく食べている鶏肉も、命をいただいているという意識を持ち、鶏に感謝する日
* 制定年：
* 制定元：福岡県福岡市に本社を置き、九州北部で銘柄鶏「華味鳥」（はなみどり）を育てているトリゼンフーズ株式会社

一般財団法人日本記念日協会の認定記念日。
（登録上はひらがなで「にわとりの日」）

## 2月9日

### フクロウの日

* 由来：「ふ(2)く(9)」の語呂合わせ
* 目的：
* 制定年：
* 制定元：

このほか、毎月26日もフクロウの日らしい。

## 2月15日

### 世界カバの日

* 正式名：World Hippo Day
* 由来：
* 目的：
* 制定年：
* 制定元：

## 2月17日

### 猫の日（イタリア）

* 由来：読者投票により。詳細後述。
* 目的：
* 制定年：1990年
* 制定元：イタリアの雑誌「Tuttogatto」

ポーランドなど、ヨーロッパのいくつかの国も同じ2月17日を猫の日としている。

由来の説明。一部推測あり。

ローマ数字で `17` は `XVII` 。並べ替えると `VIXI`（昔のローマ数字は「減算則」がなかったので並べ替えても意味は変わらない）。これはラテン語で「生きていた」（過去形）になるらしい。

英語では「猫には9つの命がある(A cat has nine lives.)」というけど、イタリアやスペインあたりでは７つらしい。
例えば「七転び八起き」的なことわざとして使われるみたい。
"avere sette vite come i gatti" あるいは "avere sette spiriti come i gatti" みたいに言うのかな。

そこの連想から、17日が猫に関連付けられているもよう。なぜ2月なのかは不明。

## 2月20日

### あなたのペットを愛する日（アメリカ）

* 正式名：National Love Your Pet Day
* 由来：
* 目的：
* 制定年：
* 制定元：

## 2月22日

### 猫の日（日本）

* 由来：「にゃん(2)にゃん(2)にゃん(2)」の語呂合わせ
* 目的：猫と一緒に暮らせる幸せに感謝し、猫とともにこの喜びをかみしめる記念日
* 制定年：1987年
* 制定元：「猫の日実行委員会」と一般社団法人ペットフード協会（ただし、一般財団法人日本記念日協会の記載だと「猫の日 **制定** 委員会」とある）

https://ja.wikipedia.org/wiki/%E7%8C%AB%E3%81%AE%E6%97%A5

### 犬と散歩する日（アメリカ）

* 正式名：National Walking the Dog Day
* 由来：
* 目的：
* 制定年：
* 制定元：

## 2月23日

### 犬ビスケット感謝デー（アメリカ）

* 正式名：Dog Biscuit Appreciation Day
* 由来：
* 目的：
* 制定年：
* 制定元：

## 2月27日

### Pokémon Day

* 由来：「ポケモン」の最初のゲームソフトである『ポケットモンスター 赤・緑』の発売日（1996年2月27日）
* 目的：
* 制定年：
* 制定元：「ポケットモンスター」（通称・ポケモン）のブランドマネジメントを行う株式会社ポケモン

一般財団法人日本記念日協会の認定記念日。

### 国際ホッキョクグマの日

* 正式名：International Polar Bear Day
* 由来：
* 目的：ホッキョクグマから環境問題を考える日
* 制定年：
* 制定元：

https://polarbearsinternational.org/get-involved/international-polar-bear-day

## 2月その他

### 世界センザンコウの日

* 日付：2月第3土曜日（推測）
* 正式名：World Pangolin Day
* 由来：
* 目的：センザンコウは密輸されることが多く、センザンコウの危機について広く伝え、保全対策を進めるため
* 制定年：
* 制定元：

https://www.pangolins.org/

## 3月1日

### 猫の日（ロシア）

* 由来：
* 目的：
* 制定年：2004年
* 制定元：モスクワの猫博物館

### 豚の日（アメリカ）

* 正式名：National Pig Day
* 由来：
* 目的：一般には認知されていないが、人類にとって最も聡明で飼い慣らされた動物の一種である豚の正当な地位を認める
* 制定年：1972年
* 制定元：テキサス州在住の教師エレン・スタンリーとノースカロライナ州のメアリー・リン・レイブ姉妹が提案

https://ja.wikipedia.org/wiki/%E8%B1%9A%E3%81%AE%E6%97%A5

## 3月2日

### ミニブタの日（日本）

* 由来：「み(3)に(2)」の語呂合わせ
* 目的：癒し系のペットとして「一家に1頭を」とミニブタの飼育を普及させるため
* 制定年：2002年
* 制定元：日本ペットミニブタ普及協会

## 3月3日

### ウサギの日

* 由来：耳の日からウザギの連想
* 目的：
* 制定年：
* 制定元：野良の記念日と思われる

### 世界野生動物の日

* 正式名：Wold WildLife Day
* 由来：「絶滅のおそれのある野生動植物の種の国際取引に関する条約」（通称ワシントン条約）の採択日（1973年3月3日）
* 目的：経済的、文化的に重要な野生動植物の保護の取組の強化を目的
* 制定年：2013年12月20日
* 制定元：第68回国際連合総会において決定された国際日

https://ja.wikipedia.org/wiki/%E4%B8%96%E7%95%8C%E9%87%8E%E7%94%9F%E7%94%9F%E7%89%A9%E3%81%AE%E6%97%A5

## 3月11日

### パンダ発見の日

1869年のこの日にジャイアントパンダをフランス人（つまり欧米世界）が発見した

https://ja.wikipedia.org/wiki/3%E6%9C%8811%E6%97%A5

## 3月20日

### 世界スズメの日

* 正式名：World Sparrow Day
* 由来：
* 目的：
* 制定年：
* 制定元：Nature Forever Society (NFS)

https://www.worldsparrowday.org/world-sparrow-day.html

## 3月22日

### さくらねこの日

* 由来：さくら(3)ねこ・にゃん(2)・にゃん(2)の語呂合わせ
* 目的：野生ネコの不妊手術をして、耳先を桜の花びらのようにカットした「さくらねこ」のことを広めるため
* 制定年：2019年
* 制定元：公益財団法人どうぶつ基金

https://www.doubutukikin.or.jp/activitynews/%EF%BC%93%E6%9C%88%EF%BC%92%EF%BC%92%E6%97%A5%E3%81%AF%E3%80%8C%E3%81%95%E3%81%8F%E3%82%89%E3%81%AD%E3%81%93%E3%81%AE%E6%97%A5%E3%80%8D/

一般財団法人日本記念日協会の認定記念日。

## 3月23日

### 子犬の日（アメリカ）

* 正式名：National Puppy Day
* 由来：
* 目的：子犬が私たちの生活にもたらす魔法と無条件の愛を祝う
* 制定年：2006年
* 制定元：

## 4月3日

### シーサーの日（沖縄）

* 由来：「シー(4)サー(3)」の語呂合わせ
* 目的：シーサーを全国に広げよう
* 制定年：2002年
* 制定元：那覇市の壺屋（つぼや）

## 4月4日

### 獅子の日（日本）

* 由来：「し(4)し(4)」の語呂合わせ
* 目的：
* 制定年：
* 制定元：野良の記念日

### 猫の日（台湾）

* 由来：
* 目的：
* 制定年：
* 制定元：愛猫族連誼会

## 4月8日

### 忠犬ハチ公の日

* 由来：ハチ公の慰霊祭が1936年から4月8日に行われているため（命日は1935年3月8日）
* 目的：
* 制定年：
* 制定元：忠犬ハチ公銅像及び秋田犬群像維持会

## 4月10日

### バード・デー

1947年に制定。その後、北の地方の一部はまだ積雪があるという理由で、のちに1ヶ月ずらし、5月10日に変更。

wikipedia - 愛鳥週間

## 4月11日

### ペットの日（アメリカ）

* 由来：
* 目的：
* 制定年：
* 制定元：

## 4月12日

### 世界ハムスターの日

* 正式名：World Hamster Day
* 由来：エルサレムのヘブライ大学の動物学者兼教授であるIsrael Aharoniが、トウモロコシ畑でシリアのハムスターを探すために遠征に出かけたことに由来(1930年4月12日)
* 目的：
* 制定年：
* 制定元：Hamster Club

http://www.hamster-club.com/article.asp?ID=226

## 4月15日

### イリオモテヤマネコの日

* 由来：新種と発表された日（1965年4月15日）
* 目的：ヤマネコと共存しながら地域を発展させることをより明確に意思表示し啓発を図る
* 制定年：2015年
* 制定元：沖縄県竹富町

## 4月23日

### 国際マヌルネコの日

* 正式名：International Pallas’s cat day
* 由来：ユーラシア地域動物園水族館協会の提案でこの日の前後の週に野生下での繁殖が多い事から
* 目的：
* 制定年：2019年
* 制定元：Pallas’s cat International Conservation Alliance（おそらく）

## 4月25日

### 世界ペンギンの日

* 正式名：World Penguin Day
* 由来：このころに毎年南極にあるアメリカのマクマード基地にアデリーペンギンが姿を見せることから
* 目的：
* 制定年：
* 制定元：

## 4月27日

### 世界バクの日

* 由来：
* 目的：4種のバク生息地の減少などにより絶滅が危惧される現状を多くの方に伝え保護すること
* 制定年：
* 制定元：

https://www.tapirday.org/

## 4月28日

### 象の日（日本）

* 由来：1729年(享保14年)4月28日にベトナムからの献上品である象が中御門天皇に拝謁したことから
* 目的：
* 制定年：
* 制定元：

象さんを「もふもふ」とするかどうかは難しいですが…。

## 4月その他

### 国際盲導犬の日

* 日付：4月最終水曜日
* 由来：
* 目的：盲導犬の普及、一般からの理解を目指すこと
* 制定年：1989年
* 制定元：

## 5月1日

### 純血種犬の日（アメリカ）

* 正式名：National Purebred Dog Day
* 由来：
* 目的：
* 制定年：
* 制定元：

https://nationalpurebreddogday.com/

## 5月9日

### 悟空の日

* 由来：「ご(5)くう(9)」の語呂合わせ
* 目的：鳥山明氏原作のコミック「ドラゴンボール」のアニメ作品である「ドラゴンボールＺ」の面白さと、その主人公の「悟空」というキャラクターの魅力をさらに多くの方に知ってもらう
* 制定年：2015年
* 制定元：『ドラゴンボールＺ 復活の「Ｆ」』の配給会社である東映株式会社

一般財団法人日本記念日協会の認定記念日。

（もふもふ、か？）

## 5月13日

### 愛犬の日

* 由来：戦後に創刊された「愛犬の友」という雑誌を出版していた会社「誠文堂新光社」（現在の誠文堂新光社とは経営母体が異なる）の社長が、昭和31年5月13日に愛犬に関するイベントを行っていたことから
* 目的：
* 制定年：
* 制定元：

https://www.jkc.or.jp/archives/faq/8579

## 5月22日

### 補助犬の日（日本）

* 由来：身体障害者補助犬法が成立した日（2002年5月22日）
* 目的：
* 制定年：
* 制定元：

ちなみに10月1日も「補助犬の日」

## 5月その他

### 世界ビントロングの日

* 日付：5月第2土曜
* 正式名：World Binturong Day
* 由来：
* 目的：ビントロングの理解を深める事
* 制定年：2015年
* 制定元：フランスの団体「Arctictis Binturong Conservation」

ビントロングとは、ジャコウネコ科の動物の一種で、別名「クマネコ」「クマジャコウネコ」「ベアキャット（英語）」とも呼ばれる。

### 世界カワウソの日

* 日付：5月最終水曜日
* 正式名：World Otter Day
* 由来：
* 目的：世界に生息するカワウソの仲間13種の現状や保全について考えること
* 制定年：
* 制定元：イギリスのNPO団体 International Otter Survival Fund (ISOF) 

https://www.otter.org/Public/Events_OurCurrentEvent.aspx

## 6月4日

### 猫をハグする日（アメリカ）

* 由来：National Hug Your Cat Day
* 目的：
* 制定年：
* 制定元：

## 6月6日

### ひつじの日（日本）

* 由来：６がひつじの角の形に似ているところから
* 目的：
* 制定年：
* 制定元：

## 6月15日

### オウムとインコの日

* 由来：「オウム（06）インコ（15）」の語呂合わせ
* 目的：
* 制定年：
* 制定元：

## 6月21日

### 世界キリンの日

* 由来：一番昼が長い夏至と、首の長いキリンから
* 目的：
* 制定年：2014年
* 制定元：キリン保全財団 Giraffe Conservation Foundation (GCF)

夏至が違う年でも、6月21日が世界キリンの日らしい。

https://www.tortoise.com/world-turtle-day.html

## 6月22日

### 世界ラクダの日

* 正式名：World Camel Day
* 由来：
* 目的：
* 制定年：
* 制定元：

https://www.facebook.com/Camel4all/

## 6月その他

### 飼い犬を職場に連れて行こうの日（イギリス・アメリカ）

* 正式名：Bring Your Dog to Work Day（イギリス）
* 正式名：Take Your Dog to Work Day（アメリカ）
* 日付：父の日の翌週の金曜日
* 由来：
* 目的：
* 制定年：1996年（イギリス）、1999年（アメリカ）
* 制定元：

ちなみに父の日は日本もイギリス・アメリカも６月第3日曜日

以下のように書いてあるので、登録商標のようです。

> Take Your Dog To Work Day and Take Your Pet To Work Week are registered trademarks of Pet Sitters nternational, Inc.

## 7月1日

### ファシリティドッグの日

* 由来：「ファシリティドッグ」が日本ではじめて静岡県立こども病院で導入された日から（2010年7月1日）
* 目的：ファシリティドッグの存在と意義を広めること
* 制定年：2016年
* 制定元：認定特定非営利活動法人「シャイン・オン・キッズ」

ファシリティドッグ（facility dog）とは、病院などの医療施設に常勤して、入院中の患者やその家族に心の安らぎを与える役割を担う犬のこと。

一般財団法人日本記念日協会の認定記念日

## 7月2日

### 世界ヤマアラシの日

* 正式名：World Porcupine Day
* 由来：
* 目的：
* 制定年：
* 制定元：

もしかしたら7月3日なのかも。

## 7月14日

### 世界チンパンジーの日

* 由来：野生チンパンジーの研究のため初めてゴンベに足を踏み入れた日(1960年7月14日)
* 目的：ヒトの進化の隣人であるチンパンジーを野生、飼育下共に考える日
* 制定年：
* 制定元：

## 7月15日

### ペットの火災安全の日（アメリカ）

* 正式名：Pet Fire Safety Day
* 由来：
* 目的：飼い主に、火災などの火のトラブルのうち、少なくはない件数が、愛犬や愛猫そしてその他のペットによって引き起こされていることを認識してもらう
* 制定年：2009年
* 制定元：アメリカン・ケネル・クラブ（AKC：The American Kennel Club）とセキュリティ会社の（The ADT Corporation）

## 7月16日

### モルモットの日

* 正式名：Guinea Pig Appreciation Day
* 由来：
* 目的：
* 制定年：
* 制定元：カナダの動物保護団体

## 7月29日

### 国際トラの日

* 正式名：International Tiger Day
* 由来：
* 目的：絶滅の危機にあるトラの現状を広く知ってもらい、保護を考えるための日
* 制定年：2010年
* 制定元：国際会議「トラサミット」で制定

https://ja.wikipedia.org/wiki/%E4%B8%96%E7%95%8C%E3%83%88%E3%83%A9%E3%81%AE%E6%97%A5

## 7月31日

### ミックス犬の日（アメリカ）

* 由来：
* 目的：
* 制定年：
* 制定元：

ミックス犬とは、いわゆる雑種犬のこと。
ちなみに12月2日もミックス犬の日

## 7月その他

### コアラの日

* 日付：7月最終金曜日
* 由来：
* 目的：
* 制定年：
* 制定元：オーストラリアコアラ基金

## 8月4日

### 補助犬の日（アメリカ）

* 正式名：Assistance Dog Day
* 由来：
* 目的：
* 制定年：
* 制定元：

## 8月6日

### ハムスターの日（日本）

* 由来：「は(8)む(6)」の語呂合わせ
* 目的：
* 制定年：
* 制定元：

## 8月8日

### 国際ネコの日

* 正式名：International Cat Day
* 由来：
* 目的：人間と猫の友情を深めあうとともに、猫に安全な生活を提供することを誓う日
* 制定年：2002年
* 制定元：カナダの国際動物福祉基金(IFAW)

## 8月10日

### スヌーピーの日

スヌーピーのお誕生日

### 鳩の日

* 由来：「は(8)と(10)」の語呂合わせ
* 目的：
* 制定年：
* 制定元：

### 世界ライオンの日

* 正式名：World Lion Day
* 由来：
* 目的：ライオンの保護活動を広く訴える
* 制定年：2013年
* 制定元：非営利団体「African Parks」

http://www.worldlionday.com/when-is-world-lion-day/

## 8月12日

### 世界ゾウの日

* 正式名：World Elephant Day
* 由来：
* 目的：密猟などで絶滅の危機にあるゾウの現状と保護をうったえる目的
* 制定年：2012年
* 制定元：カナダの映画監督Patricia Simsとタイにあるゾウ保護団体Elephant Reintroduction Foundationが制定

https://worldelephantday.org/about

## 8月13日

### 国際オオカミの日

* 由来：
* 目的：
* 制定年：
* 制定元：

## 8月17日

### 黒ネコ感謝の日（アメリカ）

* 正式名：Black Cat Appreciation Day
* 由来：
* 目的：
* 制定年：
* 制定元：

## 8月19日

### 国際オランウータンの日

* 由来：
* 目的：
* 制定年：
* 制定元：

## 8月26日

### 犬の日（アメリカ）

* 正式名：National Dog Day
* 由来：
* 目的：ペット家族のライフスタイル推進
* 制定年：2004年
* 制定元：動物愛護家のColleen Paige

その後、世界犬の日(World Dog Day)になった？

## 9月1日

### 国際霊長類の日

* 正式名：International Primates Day
* 由来：
* 目的：世界中の野生霊長類の保全や、飼育個体も含めてショーやペットビジネスなどの商業利用をやめようという普及啓発
* 制定年：
* 制定元：

## 9月4日

### 野生動物の日（アメリカ）

* 由来：
* 目的：
* 制定年：
* 制定元：

## 9月6日

### 黒猫の日（日本）

* 由来：「く(9)ろ(6)」の語呂合わせ
* 目的：
* 制定年：
* 制定元：

### カラスの日（日本）

* 由来：英語で「Crow」→「く(9)ろ(6)」の語呂合わせ
* 目的：
* 制定年：
* 制定元：カラス雑誌『CROW'S』を発行する「カラス友の会」

## 9月17日

### ヤンバルクイナの日

* 由来：
* 目的：
* 制定年：
* 制定元：

## 9月22日

### 世界サイの日

* 正式名：World Rhino Day
* 由来：
* 目的：
* 制定年：2010年
* 制定元：世界自然保護基金（WWF）

象さんに続いて、「もふもふ」認定が難しいですが。

## 9月24日

### 世界ゴリラの日

* 正式名：World Gorilla Day
* 由来：
* 目的：
* 制定年：2017年
* 制定元：ダイアン・フォッシー国際ゴリラ財団

## 9月29日

### 招き猫の日

* 由来：「くる(9)ふく(29)」の語呂合わせ
* 目的：
* 制定年：
* 制定元：

## 9月その他

### 国際ハゲワシ啓蒙の日

* 日付：9月第1土曜日
* 正式名：International Vulture Awareness Day
* 由来：
* 目的：
* 制定年：
* 制定元：

### 国際レッサーパンダデー

* 日付：9月第3土曜日
* 正式名：International Red Panda Day
* 由来：
* 目的：
* 制定年：
* 制定元：アメリカのレッサーパンダ保全団体「Redpanda　Network」

国際レッドパンダの日とも

### 世界ウサギの日

* 日付：9月第4週目の土曜日または日曜日
* 由来：
* 目的：
* 制定年：
* 制定元：

## 10月1日

### 黒犬の日（アメリカ）

* 正式名：National Black Dog Day
* 由来：
* 目的：
* 制定年：
* 制定元：

### 補助犬の日（日本）

* 由来：
* 目的：
* 制定年：
* 制定元：

ちなみに5月22日も「補助犬の日」

## 10月4日

### 世界動物の日

* 正式名：World Animal Day
* 由来：この日がアッシジのフランチェスコの聖名祝日であるため
* 目的：動物愛護・動物保護のための世界的な記念日
* 制定年：1931年
* 制定元：イタリア・フィレンツェで開かれた「国際動物保護会議」

## 10月8日

### ツシマヤマネコの日

* 由来：ツシマヤマネコの別名である「と(10)らや(8)ま」の語呂合わせ
* 目的：広く保護への協力を呼びかけるとともに、ツシマヤマネコの保護に関する普及啓発
* 制定年：2015年
* 制定元：ツシマヤマネコ保護増殖連絡協議会

http://kyushu.env.go.jp/twcc/center/1008.html

## 10月16日

### 野良猫の日（アメリカ）

* 由来：
* 目的：
* 制定年：
* 制定元：

## 10月18日

### 世界オカピの日

* 正式名：World Okapi Day
* 由来：
* 目的：
* 制定年：
* 制定元：オカピ・コンサベーション・プロジェクト（OKAPI CONSERVATION PROJECT）

## 10月20日

### 国際ナマケモノの日

* 正式名：International Sloth Day
* 由来：
* 目的：
* 制定年：2010年
* 制定元：コロンビアの民間団体が開催したナマケモノの保全などに関する国際会議で制定

## 10月22日

### 世界ウォンバットの日

* 正式名：World Wombat Day
* 由来：
* 目的：
* 制定年：
* 制定元：

## 10月23日

### 世界ユキヒョウの日

* 正式名：World Snowleopard Day
* 由来：2013年に「世界ユキヒョウ保護フォーラム」が開催されたため
* 目的：
* 制定年：2014年
* 制定元：

## 10月24日

### 文鳥の日

* 由来：
* 目的：
* 制定年：
* 制定元：

### 国際テナガザルの日

* 正式名：International Gibbon Day
* 由来：
* 目的：
* 制定年：
* 制定元：IUCNが組織する霊長類専門家グループ(PSG)の中の小型類人猿チーム(SSA)が制定

## 10月27日

### テディベアズ・デー

* 由来：
* 目的：
* 制定年：
* 制定元：

### 黒猫の日（イギリス）

* 由来：
* 目的：
* 制定年：
* 制定元：

## 10月28日

### パンダの日（日本）

* 由来：日本で最初のジャイアントパンダ「ランラン」と「カンカン」来園にちなむ(1972年10月28日)
* 目的：
* 制定年：
* 制定元：上野動物園

## 10月29日

### 猫の日（アメリカ）

* 正式名：National Feral Cat Day
* 由来：
* 目的：
* 制定年：2005年
* 制定元：Alley Cat Allies（アメリカ）

## 10月その他

### 世界キツネザルの日

* 日付：10月最終金曜日
* 正式名：World Lemur Day
* 由来：
* 目的：
* 制定年：2014年
* 制定元：世界自然保護連合（IUCN）霊長類専門家グループによるマダガスカルプロジェクトが提唱

## 11月1日

### 犬の日（日本）

* 由来：「わん(1)わん(1)わん(1)」の語呂合わせ
* 目的：
* 制定年：1987年
* 制定元：社団法人ペットフード協会

### キティーちゃんの誕生日

世界のキティーちゃんのお誕生日

## 11月8日

### 信楽たぬきの日

* 由来：日付は１と１が重なるいちばん良い月の１１月と、信楽焼の狸の特徴である八つの縁起物の八相縁起から８日を組み合わせた
* 目的：年に一度あらためてたぬきに感謝していっそうの縁起を願う（信楽焼産地の活性化と観光の振興）
* 制定年：2012年8月8日(2008年8月8日制定の「たぬき休むでぇ～」から改名)
* 制定元：信楽町観光協会

一般財団法人日本記念日協会の認定記念日。

## 11月11日

### シマリスの日（日本）

* 由来：背中のシマ
* 目的：
* 制定年：
* 制定元：

## 11月17日

### 黒猫の日（イタリア）

* 由来：2月17日の「猫の日（イタリア）」を参照
* 目的：不吉と言われる黒猫を守るため、あるいは迷信を払拭するため
* 制定年：
* 制定元：

## 11月18日

### 熊の日

* 由来：
* 目的：
* 制定年：
* 制定元：

### ミッキーマウスの誕生日

世界一有名なネズミさんのお誕生日

## 11月21日

### イーブイの日

* 由来：
* 目的：
* 制定年：
* 制定元：

## 11月22日

### ペットたちに感謝する日（日本）

* 由来：「わんわんにゃーにゃー」の語呂合わせ
* 目的：
* 制定年：
* 制定元：

## 11月29日

### いい肉球の日

* 由来：語呂合わせ
* 目的：
* 制定年：
* 制定元：

## 12月2日

### ミックス犬の日（アメリカ）

* 由来：
* 目的：
* 制定年：
* 制定元：

ちなみに7月31日も「ミックス犬の日」

## 12月4日

### 国際チーターの日

* 正式名：International Cheetah Day
* 由来：
* 目的：
* 制定年：
* 制定元：

## 12月12日

### 世界りんご猫デー

* 正式名：World Apple Cats Day
* 由来：
* 目的：
* 制定年：
* 制定元：

りんご猫とは、FIV（ネコエイズウイルス）に感染した猫のことだそうです。ネコエイズの偏見をなくすために「りんご猫」とよぶようです。


# プログラム

適当なサーバから cron で毎日動かし、月日をチェックしてメッセージを toot してみることにしました。

まずは、メッセージを用意します。

```py
anniversaries = {
    "0114": "今日はタロとジロの日ですね :dog: :dog_face:",
    "0121": "今日はリスの日（アメリカ:flag-us:）ですね。 :chipmunk:",
    "0131": "今日は国際シマウマの日（International Zebra Day）ですね :zebra:",
    "0202": "今日は世界ダチョウの日（World Ostrich Day）ですね",
    "0205": "今日はピカチュウの日ですね",
    "0208": "今日はニワトリの日ですね :chicken:",
    "0209": "今日はフクロウの日ですね :owl:",
    "0215": "今日は世界カバの日ですね :hippopotamus:",
    "0217": "今日は猫の日（イタリア:flag-it:）ですね :cat:",
    "0222": "今日は猫の日（日本:flag-jp:）ですね :cat:",
    "0227": "今日は Pokemon Day と、国際ホッキョクグマの日（International Polar Bear Day）ですね",
    "0301": "今日はブタの日（アメリカ:flag-us:） :pig_face: と、猫の日（ロシア:flag-ru:）ですね :cat:",
    "0302": "今日はミニブタの日（日本:flag-jp:）ですね :pig_face:",
    "0303": "今日は世界野生動物の日（World Wildlife Day）とウサギの日（日本:flag-jp:）ですね :rabbit:",
    "0311": "今日はパンダ発見の日ですね :panda_face:",
    "0320": "今日は世界スズメの日（World Sparrow Day）ですね",
    "0323": "今日は子犬の日（アメリカ:flag-us:）ですね :dog:",
    "0403": "今日はシーサーの日（沖縄）ですね",
    "0404": "今日は獅子の日（日本:flag-jp:） :lion_face: と、猫の日（台湾:flag-tw:）ですね :cat:",
    "0408": "今日は忠犬ハチ公の日ですね :dog:",
    "0411": "今日はペットの日（アメリカ:flag-us:）ですね :cat: :dog:",
    "0412": "今日は世界ハムスターの日（World Hamster Day）ですね :hamster_face:",
    "0415": "今日はイリオモテヤマネコの日ですね :cat:",
    "0423": "今日はマヌルネコの日ですね",
    "0425": "今日は世界ペンギンの日（World Penguin Day）ですね :linux:",
    "0427": "今日は世界バクの日（World Tapir Day）ですね",
    "0428": "今日は象の日（日本:flag-jp:）ですね :postgresql:",
    "0509": "今日は悟空の日（日本:flag-jp:）ですね :monkey:",
    "0513": "今日は愛犬の日（日本:flag-jp:）ですね :dog:",
    "0522": "今日は補助犬の日ですね :guide_dog:",
    "0604": "今日は猫をハグする日（アメリカ:flag-us:）ですね :cat_face:",
    "0606": "今日はヒツジの日（日本:flag-jp:）ですね :ewe:",
    "0615": "今日はオウムとインコの日ですね :christmasparrot:",
    "0621": "今日は世界キリンの日（World Giraffe Day）ですね :giraffe:",
    "0622": "今日は世界ラクダの日（World Camel Day）ですね :perl:",
    "0714": "今日は世界チンパンジーの日（World Porcupine Day）ですね :monkey:",
    "0716": "今日はモルモットの日（カナダ:flag-ca:）ですね",
    "0729": "今日は国際トラの日（International Tiger Day）ですね :tiger_face:",
    "0731": "今日はミックス犬の日（アメリカ:flag-us:）ですね :dog:",
    "0806": "今日はハムスターの日（日本:flag-jp:）ですね :hamster_face:",
    "0808": "今日は世界ネコの日（World Cat Day）ですね :cat:",
    "0810": "今日はスヌーピーの日（日本:flag-jp:）と、世界ライオンの日（World Lion Day）ですね :lion_face:",
    "0812": "今日は世界ゾウの日（World Elephant Day）ですね :postgresql:",
    "0813": "今日は世界オオカミの日（World Wolf Day）ですね :wolf_face:",
    "0817": "今日は黒ネコ感謝の日（アメリカ:flag-us:）ですね :github:",
    "0819": "今日は国際オランウータンの日（International Orangutan Day）ですね :orangutan:",
    "0826": "今日は世界イヌの日（World Dog Day）ですね :dog:",
    "0901": "今日は国際霊長類の日（International Primates Day）ですね :monkey:",
    "0904": "今日は野生動物の日（アメリカ:flag-us:）ですね",
    "0906": "今日は黒猫の日（日本:flag-jp:）ですね :github:",
    "0917": "今日はヤンバルクイナの日ですね",
    "0922": "今日は世界サイの日（World Rhino Day）ですね :rhinoceros:",
    "0924": "今日は世界ゴリラの日（World Gorilla Day）ですね :gorilla:",
    "0929": "今日は招き猫の日ですね",
    "1001": "今日は補助犬の日（日本:flag-jp:）:guide_dog: と、黒犬の日（アメリカ:flag-us:）ですね",
    "1004": "今日は世界動物の日（World Animal Day）ですね :firefox: :gopher: :qiitan:",
    "1008": "今日はツシマヤマネコの日ですね :cat:",
    "1016": "今日は野良猫の日（アメリカ:flag-us:）ですね :cat:",
    "1018": "今日は世界オカピの日（World Okapi Day）ですね",
    "1020": "今日は国際ナマケモノの日（International Sloth Day）ですね :sloth:",
    "1022": "今日は世界ウォンバットの日（World Wombat Day）ですね",
    "1023": "今日は国際ユキヒョウの日（International Snow Leopard Day）ですね",
    "1024": "今日は文鳥の日と、国際テナガザルの日（International Gibbon Day）ですね",
    "1027": "今日はテディベアズ・デーと、黒猫の日（イギリス:flag-gb:）ですね :github:",
    "1028": "今日はパンダの日（日本:flag-jp:）ですね :panda_face:",
    "1029": "今日は猫の日（アメリカ:flag-us:）ですね :cat:",
    "1101": "今日は犬の日（日本:flag-jp:）:dog: と、キティーちゃんの誕生日ですね",
    "1108": "今日は信楽たぬきの日ですね",
    "1111": "今日はシマリスの日（日本:flag-jp:）ですね :chipmunk:",
    "1117": "今日は黒猫の日（イタリア:flag-it:）ですね :github:",
    "1118": "今日は熊の日（日本:flag-jp:） :bear_face: と、ミッキーマウスの誕生日ですね",
    "1121": "今日はイーブイの日（日本:flag-jp:）ですね",
    "1122": "今日はペットたちに感謝する日（日本:flag-jp:）ですね :dog: :cat:",
    "1129": "今日はいい肉球の日（日本:flag-jp:）ですね :paw_prints:",
    "1202": "今日はミックス犬の日（アメリカ:flag-us:）ですね :dog:",
    "1204": "今日は国際チーターの日（International Cheetah Day）ですね  :apach_tomcat:",
    "1212": "今日は世界りんご猫デー（World Apple Cats Day）ですね :apple: :cat:",
}
```

ただし、実は絵文字はそのまま（例： `:dog:` ）で送ってもだめらしい。

いろいろ試した結果は以下の通り。

* 通常の絵文字（Mastodonの標準）は、Unicodeとして送る
* qiitadon 独自の追加絵文字は、 `:linux:` や `:qiita:` のように送れば OK
* 絵文字の結合はできない。もともと登録されている結合絵文字はOKだけど、登録されていない結合絵文字（例：猫＋結合文字＋黒、など）はうまく表示できない。登録済の絵文字には tooltip のような設定がされるため、絵文字と結合文字の間にタグが挿入されてしまうのだと思われます。

というわけで、自力で絵文字を変換するロジックを用意する。
全絵文字をやるほど根気がないので、使いそうなものだけ。

```py
def emoji_to_unicode(data):
    return (
        data.replace(":monkey:", "\U0001f412")
        .replace(":gorilla:", "\U0001f98d")
        .replace(":orangutan:", "\U0001f9a7")
        .replace(":dog_face:", "\U0001f436")
        .replace(":dog:", "\U0001f415")
        .replace(":guide_dog:", "\U0001f9ae")  # 盲導犬
        .replace(":wolf_face:", "\U0001f43a")
        .replace(":cat_face:", "\U0001f431")
        .replace(":cat:", "\U0001f408")
        .replace(":lion_face:", "\U0001f981")
        .replace(":tiger_face:", "\U0001f42f")
        .replace(":zebra:", "\U0001f993")
        .replace(":pig_face:", "\U0001f437")
        .replace(":ewe:", "\U0001f411")  # ヒツジ
        .replace(":giraffe:", "\U0001f992")
        .replace(":elephant:", "\U0001f418")
        .replace(":rhinoceros:", "\U0001f98f")
        .replace(":hippopotamus:", "\U0001f99b")
        .replace(":mouse_face:", "\U0001f42d")
        .replace(":hamster_face:", "\U0001f439")
        .replace(":rabbit_face:", "\U0001f430")
        .replace(":rabbit:", "\U0001f407")
        .replace(":chipmunk:", "\U0001f43f")
        .replace(":bear_face:", "\U0001f43b")
        .replace(":koala:", "\U0001f428")
        .replace(":panda_face:", "\U0001f43c")
        .replace(":sloth:", "\U0001f9a5")
        .replace(":paw_prints:", "\U0001f43e")  # 動物の足跡
        .replace(":chicken:", "\U0001f414")
        .replace(":owl:", "\U0001f989")
        .replace(":flag-ca:", "\U0001f1e8\U0001f1e6")
        .replace(":flag-cn:", "\U0001f1e8\U0001f1f3")
        .replace(":flag-de:", "\U0001f1e9\U0001f1e9")
        .replace(":flag-eu:", "\U0001f1ea\U0001f1fa")
        .replace(":flag-fr:", "\U0001f1eb\U0001f1f7")
        .replace(":flag-it:", "\U0001f1ee\U0001f1f9")
        .replace(":flag-ru:", "\U0001f1f7\U0001f1fa")
        .replace(":flag-uk:", "\U0001f1ec\U0001f1e7")
        .replace(":flag-uk:", "\U0001f1ec\U0001f1e7")
        .replace(":flag-jp:", "\U0001f1ef\U0001f1f5")
        .replace(":flag-kr:", "\U0001f1f0\U0001f1f7")
        .replace(":flag-tw:", "\U0001f1f9\U0001f1fc")
        .replace(":flag-us:", "\U0001f1fa\U0001f1f8")
        .replace(":apple:", "\U0001f34e")
        .replace(":robot_face:", "\U0001f916")
    )
```

あとは、Qiita記事を参考のロジックを作るだけ。
たとえば、以下の記事が参考になります

https://qiita.com/KEINOS/items/27d201afed4ed665cb11


```py
import datetime
import sys
import urllib.request
import urllib.parse


url = "https://qiitadon.com/api/v1/statuses"


def main():
    if len(sys.argv) != 2:
        print("usage: {} ACCESS_TOKEN".format(sys.argv[0]), file=sys.stderr)
        return
    access_token = sys.argv[1]
    message = message_of_today()
    if message != "":
        greet = ":robot_face: おはようございます。"
        toot(emoji_to_unicode(greet + message), access_token)
        # print(emoji_to_unicode(message))


def message_of_today():
    today = datetime.date.today()
    key = "{:0>2}{:0>2}".format(today.month, today.day)
    return anniversaries[key] if key in anniversaries else ""


def toot(message, access_token):
    # unlisted / public
    data = "visibility=public&status=" + urllib.parse.quote(message)
    headers = {
        "Authorization": "Bearer " + access_token,
        "Content-Type": "application/x-www-form-urlencoded",
    }
    req = urllib.request.Request(url, data.encode("ascii"), headers)
    with urllib.request.urlopen(req) as res:
        res.read()


if __name__ == "__main__":
    main()
```

Qiitadon では「おはよう」ではなく「おはどん」というのが一般的みたいですが、小心者の私は「おはようございます」と言っています。

https://qiita.com/Morichan/items/c3868addbfd41a7a86a0

toot するには、アクセスキーが必要になります。
詳細は、前述の KEINOS さんの記事が参考になります。

Qiitadon にログインした後、設定アイコン（歯車）→下の方に行って「開発」→「新規アプリ」で新しいアプリを作成します。
権限は、write だけあれば、とりあえず問題ありません。

作成したら表示されるアクセストークンをコピーして、大切に保管（他の人に見せたらダメ）。

上記、ソースはコマンドラインからアクセストークンを受け取るようになっていますが、適当に直してもいいと思います（例：直接ハードコーディング。あるいは環境変数定義など）。

あとは、前述の通り、適当なマシンで `crontab -e` で を実行すればOK。

```
【分】 【時】 * * * /usr/bin/python3 /path_to_file/qiitadon_bot.py 【アクセストークン】
```

https://gist.github.com/yoshi389111/4019db4642bced6e78707f5ac6be0b57