Misskeyã®ãã©ã°ã€ã³APIãšãã®ãªã¹ã¯ã®çè§£
ããã®èšäºã¯å®éã«ãšããã€ã³ã¹ã¿ã³ã¹ã§çºçããäºäŸãåºã«Misskeyã®ãã©ã°ã€ã³API(äž»ã«Mk:apiExternal)ã«æœãå±éºæ§ã解説ããŸãããã®èšäºã¯ç¹å®åäººãæ»æããããšãç®çãšããŠäœæãããŠããŸããã
ããŸããããã§ç޹ä»ãããŠããæ
å ±ã¯ãã§ã«ç¥ãããŠããæ
å ±ã§ãããé ãæå³ããªããšèããæ³šæåèµ·ãç®çãšããŠäœæããŠããŸãã
äºäŸ
å 容
ãä»åã¯ãŒãããŒãšããã€ã³ã¹ã¿ã³ã¹ã§å®éã«çºçããäºäŸã玹ä»ããŸãããã®ã€ã³ã¹ã¿ã³ã¹ã¯äžè¬å
¬éããããŠããã誰ã§ãç»é²ã»é²èЧãããããšãã§ããŸãã
ããããŠããã®ã€ã³ã¹ã¿ã³ã¹ã«"å¿åãŒæ°"ãšããã¢ã«ãŠã³ããç»é²ãããŸããããã®ã¢ã«ãŠã³ãã¯ããŒãã®ä»£çæçš¿ãå¯èœãªbotã§ãããPlayæ©èœã䜿ã£ãæçš¿ãã©ãŒã ã«ããŒãå
容ãå
¥åããããšã§å¿åãŒæ°ãšãã代çã¢ã«ãŠã³ããéããŠå¿åæçš¿ãããããšãå¯èœã§ããã
ãã®ã¢ã«ãŠã³ãã @anon_vomin@voskey.icalo.net ããå¿åã§æçš¿ãã§ããPlayãå ¬éããŸãã https://voskey.icalo.net/play/9mlnixen0v â»ã¢ã«ãŠã³ãã®ç®¡çè ãæçš¿è ã®æ¿èªãåŸãã«æçš¿ãåé€ããå ŽåããããŸã #å¿åãŒæ°
ããããããã®ã¢ã«ãŠã³ãã¯ã»ãã¥ãªãã£çããŸãã¢ãã¬ãŒã·ã§ã³äžã®åé¡ããããšããŠã¢ãã¬ãŒã¿ãŒã«ãã£ãŠåçµåŠåãåããŸããã
ã¢ãã¬ãŒã¿ãŒããã®ãç¥ããã§ãã å¿åãŒæ° `@anon_vomin` ã¢ã«ãŠã³ãã«ã€ããŠãã»ãã¥ãªãã£ã»ã¢ãã¬ãŒã·ã§ã³é¢ã§æžå¿µäºé ãå€ããææªã®å Žååãè¿ãã®ä»ããªããã©ãã«ã«çºå±ããæãããããããåçµåŠçãšãããŠé ããŸããã ä»åŸãé¡äŒŒã®ã¢ã«ãŠã³ãã¯åæ¢ããå¯èœæ§ããããŸãã ãã€ããŒãããŒã楜ããã§ãããŠããããšãããããŸãã
ä»çµã¿
ãããŠããã®Playã¯ã©ã®ãããªä»çµã¿ã§åããŠããã®ã§ãããããå®éã«ã³ãŒãã確èªããŠã¿ããšãã®ãããªã³ãŒããèŠã€ããããšãã§ããŸãã
// ããŒã¿ã®éä¿¡ãçµæã®åä¿¡
let api = "(å€éšãµãŒããŒã®URL)" // åããã§ãããŒã¿ã®ãã§ãã¯ã¯ããŸã
let result = Mk:apiExternal(api, "post" content) // ããŒã¿ã®éä¿¡ããã®ã³ãŒãã確èªãããšãããéããMk:apiExternalã䜿çšããŠå€éšãµãŒããŒã®APIã«ãªã¯ãšã¹ãããŠããããšãããããŸãã
ããªããããã§èšãå€éšãµãŒããŒã¯Misskey APIãå®è£
ããŠãããµãŒããŒã«éå®ã¯ãããŠããŸãããã€ãŸããAPIã®åœ¢åŒããåãã°ãããªããµãŒããŒã«å¯ŸããŠããªã¯ãšã¹ããéããŸããå®éã«ã¯ãããã以äžã®å³ã®ãããªæµãã§ã€ã³ã¹ã¿ã³ã¹äžã®ã¢ã«ãŠã³ãã§æçš¿ãããŠãããšèããŸãã

ããŸãšãããšãPlayãšããUIãéããŠAPIãå©çšããŠè¡ã£ãæçš¿ãªã¯ãšã¹ããbotãµãŒããŒãåãåãããã®botãµãŒããŒãã€ã³ã¹ã¿ã³ã¹ãµãŒããŒã«æçš¿ãè¡ã£ãŠãããšããããã§ãã
åé¡ç¹
ãããŠããã®botã®åé¡ç¹ã¯ã©ãã«ããã§ããããããã®åçã¯ã¢ãã¬ãŒã·ã§ã³äžã®åé¡ãçºçãããããšèšãç¹ã«ããã§ãããã
ãæ³åããããã·ããªãªã§èšããšç¯è¡äºåã§ã®å©çšã§ãããããã®botã§æçš¿ãããå
容ã¯å
šãŠbotãµãŒããŒã«éçŽãããå¿ååãããŠããŸãããã®ãããããç¯è¡äºåãªã©ãè¡ãããå Žåããã®å
容ã®çºä¿¡å
ã®ç¹å®ãå°é£ã«ãªããŸãããããªããšã¢ãã¬ãŒã·ã§ã³äžã®æžå¿µãçºçããŸãã
ããŸãããã®botãµãŒããŒã®APIã«çŽæ¥ãªã¯ãšã¹ããè¡ãã°ãã®ã€ã³ã¹ã¿ã³ã¹ã«ç»é²ããããšãæçš¿ãè¡ããŠããŸããšããç¹ãã¢ãã¬ãŒã·ã§ã³äžã®åé¡ãããããã§ãã
ããã®ã»ããå¿åã§ãããšããç¹ãå©çšããŠä»è
ã®æªå£ãèšã£ãäºäŸã確èªããŸãããããã¯åšå²ã®äººéã«å¯ŸããŠäžä¿¡æãæ±ãåå ãçã¿åºãããäºãã«çå¿æé¬Œã«ãªã£ãŠããŸããŸãã
ãã®ä»ã®èããããæžå¿µ
ãä»åã®ä»¶ãšã¯çŽæ¥çãªé¢ä¿ã¯ãããŸããããMk:apiExternalãå€éšAPIãå©ããäºå®ã¯ãå€éšãµãŒããŒãäžæ£ã«ããŒã¿ãåéã§ããå¯èœãæç€ºããŸããäŸãã°ãPlayãã¢ã¯ã»ã¹ããŒã¯ã³ãå©çšãããã®ã§ããã°ãæš©éãæã£ãã¢ã¯ã»ã¹ããŒã¯ã³ã®åéãããã©ãã¯ãŒéå®ããŒãããã€ã¬ã¯ãããŒããªã©ãåéã§ããŠããŸããŸããããã¯ç§å¯ã®æŒæŽ©ããªãããŸããªã©ã®ãªã¹ã¯ããããŸãã
ã¢ã¯ã»ã¹ããŒã¯ã³ãšTwitter(çŸX)ã®äºäŸã«åŠã¶
ãXããŸã Twitterãšããååã§APIãç¡æã ã£ãæä»£ã®è©±ãTwitterã«ã¯Twitter飿ºãã§ããã¢ããªã§æº¢ããŠããŸããããããã®äžã«ã¯ãTwitter飿ºãããä¹ã£åãããã¢ããªããšãããã®ããããŸããããããã®ã¢ããªã®åé¡ã¯ã飿ºã®éã«ããŒãã®æçš¿ã®æš©éããŠãŒã¶ãŒã«èŠæ±ãããã®æš©éãæªçšããŠããããšã«ãããŸãã
ãMisskeyã®ã¢ã¯ã»ã¹ããŒã¯ã³ãTwitter飿ºãšåæ§ã®åé¡ãæ±ããŠããŸããã€ãŸããã¢ã¯ã»ã¹ããŒã¯ã³ãä»äººã«æãããšããããšã¯ãèªèº«ã®Misskeyã¢ã«ãŠã³ãã®äžéšã®æ©èœãä¹ã£åããããšèªèããŠãè¯ãã§ãããã
ãã ãããã¢ã¯ã»ã¹ããŒã¯ã³ã®çºè¡ç®¡çã¯æ
éã«è¡ãã¹ãã§ãããä¿¡é Œã§ããã¢ããªã±ãŒã·ã§ã³ä»¥å€ã«ã¯äœ¿çšããŠãããªãããã§ãã
察ç
MisskeyãŠãŒã¶ãŒåŽ
ãã¢ã¯ã»ã¹ããŒã¯ã³ãå¿
èŠãªPlayã®å Žåããã®Playãã¢ã¯ã»ã¹ããŒã¯ã³ãé©åã«åãæ±ã£ãŠããã確èªããŠãã ããã
ããŸããPlayã§äžåºŠäœ¿ã£ãã¢ã¯ã»ã¹ããŒã¯ã³ã¯Playãçµäºããéã«ç Žæ£ããŠãã ãããã¢ã¯ã»ã¹ããŒã¯ã³ã®ç Žæ£ã¯ãã¢ã¯ã»ã¹ããŒã¯ã³ã®ç®¡çãããè¡ããŸãã
ããã¢ã¯ã»ã¹ããŒã¯ã³ã®ç®¡çã㯠https://example.com/settings/apps ã®ãããªURLããã¢ã¯ã»ã¹ã§ããŸããäŸãã° misskey.io ã®å Žåã§ããã° https://misskey.io/settings/apps ãããã¢ã¯ã»ã¹ã§ããããã§ãã
ãµãŒããŒç®¡çè åŽ
ãã¢ãã¬ãŒã·ã§ã³ãšããŠäœããæ€ç¥ãããšããã®ã¯æ¯èŒçå°é£ã«æããŸãããŠãŒã¶ãŒããã®éå ±ãåããŠã³ãŒãã粟æ»ãåçµã®å¯åŠãäžãããšãããããã§ããªãã§ãããã
ããŸãã¯ããã¹ãŠã®Playãèªåçã«æ€èšŒããæ¹æ³ãååšãããšã¯æããŸãããŸããããŸãããšãã¹ãŠã®Playã®ã³ãŒããéããŠãããããã«å¯ŸããŠMk:apiExternalããã£ãå Žåéãå
ãéããã®ãé©åããäžé©åãªã¢ã¯ã»ã¹ããŒã¯ã³èŠæ±ãè¡ã£ãŠããªãããªã©ã確èªãããšããæ³¥èãæ¹æ³ã¯ãããŸãã
Playå¶äœè åŽ
ããã®ãããªPlayã¯äœããªãã§ãã ãããPlayã®å¶äœã«è²¬ä»»ãæã¡ãŸãããã
ããŸããå¿
èŠãªã¢ã¯ã»ã¹ããŒã¯ã³ã¯å¿
èŠãªæã«æ¯åºŠèŠæ±ããããã«ããŠãã ãããå©äŸ¿æ§ã®é¢ã§ã¯ã¢ã¯ã»ã¹ããŒã¯ã³ãæ¯åºŠèŠæ±ããã®ã¯äžäŸ¿ã§ãããMk:saveãªã©ã«ä¿åãããªãã§ãã ããã
ãMk:saveãªã©ã«ä¿åãããšæ¯åèŠæ±ããªãã§ãè¯ãã®ã§äŸ¿å©ã§ãããMk:saveã¯keyããåã£ãŠããã°èª°ã§ãMk:loadã§èªã¿èŸŒããŸããã€ãŸããã¢ã¯ã»ã¹ããŒã¯ã³ãæŒæŽ©ãããªã¹ã¯ãããããã§ãããMisskeyã®Mk:save()ããã³Mk:load()ã§ã¯Playãè·šãã å¹²æžã¯ã§ããªãããã§ãã
æåŸã«
ãä»åã®äžä»¶ã®Playäœè ã«å¯ŸããŠç§çãªæ»æãè¡ãããªãããšãç§ã¯æã¿ãŸããæåŸã«ããŒãããŒã®ã¢ãã¬ãŒã¿ãŒã®æ¹ã®å¯Ÿå¿ã«æè¬ããŸãã