
ãé åžãGmailåä¿¡&èªååããŒã« ïœPythonã§ã¡ãŒã«ãèªåå DiscordãLineã«è»¢é!?ïœ
ããã«ã¡ã¯Rcatã§ãã
ä»åã¯Pythonã䜿ã£ãŠGmailãåä¿¡ããŠãããŸãã
ãã£ããã¢ããªãäž»æµãšãªã£ãä»ã§ããå
¬çãªãšããããé
ä¿¡ãããæ
å ±ã«é¢ããŠã¯ãã¯ãã¡ãŒã«ãäžè¬çã§ãã
ä»åã¯è¿æ³å ±åã«ãæžããããã«ãå°åã®é²çœæŸéã®å
容ãã¡ãŒã«ã§éã£ãŠããããµãŒãã¹ã«ç»é²ããã®ã§ãããã転éã§ããããã«è§£æãããããªãã®ãäœã£ãŠããããšæããŸãã
ãã¡ãããããå°çšã®ããã§ã¯ãªãã®ã§ãäŸãã°noteããæ¥ãã¡ãŒã«ãåæããŠå£²äžãèªåéèšãªã©ãããæ¹æ¬¡ç¬¬ã§ã¯å¯èœã§ãã
次å:DBã«æžã蟌ã¿(ãã€ããŒã )
ã¯ããã«
å©çšèŠçŽ
æ å ±ãäœåã®æŽ»çšæã¯äºåã«å©çšèŠçŽãã確èªãã ããã
ã³ã¡ã³ãã«ã€ããŠ
å©çšèŠçŽã®ã¬ã€ãã©ã€ã³ã確èªã®äžã³ã¡ã³ãããŠãã ããã
åã£ãŠããªãã³ã¡ã³ãã¯åé€ããŸãã
æŠèŠ
æŠèŠ
æåã®æ¹ã«æžããŸããããPythonã䜿ã£ãŠGmailãåä¿¡ããŸãã
å€ãã®æ¹ã¯Googleã¢ã«ãŠã³ãããæã¡ã§ãšæããŸããã仿ãã£ãªã¢ã¡ãŒã«äœ¿ã£ãŠã人ãããŸãããŸããããããããã£ãæå³ã§ãGmailã«å¯Ÿå¿ãããšããã®ã¯ãããªãå¹
åºãå©çšäŸ¡å€ãããã®ã§ã¯ãªãããšèããŠããŸãã
èªååŠçããã°ã©ã ã®äœ¿ãæ¹
ãŸãåãã«ãä»åç§ãäœæããèªååŠçããã°ã©ã ã®äœ¿ãæ¹ã ããç°¡åã«èª¬æããŸãã
å®è¡ç°å¢
Windows11
Python3.11.6
Linux(Ubuntu)
Python 3.10.12
ã§ããããš
ããªã¬ãŒãèšå®ããŠä»»æã®åŠçãå®è¡
å·®åºäººãä»¶åãæ¬æãããã3ã€ãæ¡ä»¶ãšããŠæå®ããããšã§ãä»»æã®åŠçãå®è¡ããããšãã§ããŸãã
äŸãã°"noteããæ¥ãã¡ãŒã«"ã§"ä»¶åã«è³Œå ¥ãå«ãŸããæ"ãªã©åŸç¶åŠçã¯èªç±
ã¡ãŒã«ãåãåã£ãåŸãå·®åºäººãšä»¶åãšæ¬æãæååã§ååŸã§ããŸãã
ãã³ãã¬ãŒãã«åŸããåä¿¡ããåŸã®åŠçãèªç±ã«äœæããããšãã§ããŸããäŸãã°ãLINEãDiscordã«è»¢éãããªã©ãDiscordãžè»¢é
Discordã¯WebHookçµç±ã§ã®è»¢éããã³ãã¬ã³ãŒããšããŠäœææžã¿ã§ããLineãžè»¢é
Lineã¯messaging-apiã䜿ã£ãBOT(å ¬åŒã¢ã«ãŠã³ã)çµç±ã§ã®è»¢éããã³ãã¬ã³ãŒããšããŠäœææžã¿ã§ããã¡ãŒã«ã®ä¿å
åä¿¡ããã¡ãŒã«ã¯ããã¹ã圢åŒã§ããŒã«ã«ã«ä¿åãããŸãããããã©ãæçãããã¯ãŠãŒã¶ãŒæ¬¡ç¬¬ã容æãªã«ã¹ã¿ãã€ãº
åŸç¶åŠçã¯ãã³ãã¬ãŒããã¡ã€ã«ãã³ããŒããŠããã®äžã«èšè¿°ããæ¹åŒã§ãããã¡ã€ã³ã®ããã°ã©ã ã«è§Šãå¿ èŠã¯ãããŸããã
ããªã¬ãŒåŠçããã³ãã¬ãŒãåŽã«èšè¿°ããŠããã®ã§ãããªã¬ãŒã®éšåãç¥èãããã°ã«ã¹ã¿ãã€ãºå¯èœã§ãã
䜿çšäŸ (å°åã®é²çœæŸéãdiscodã«è»¢é)

äŸãã°Discordã«è»¢éããæãç°¡åãªäŸããã¡ãã§ãã
å°åãã°ããŠããŸãã®ã§é ããŠããšãããå€ãã§ãããã¡ãŒã«ã®æ¬æãDiscordã«è»¢éããŠããŸãã
ããããã®ãå®¶æã°ã«ãŒããªããã«æšªæµãããã®ã«åœ¹ç«ã¡ãŸãã
ã¡ãªã¿ã«å ã®ã¡ãŒã«ã¯ãããªæãã§ããæžããŠããå 容ããã£ãããã®ãŸãŸæçš¿ãšããæãã§ããã

ã¡ãªã¿ã«ä»åã®è»¢éã¯WebHookãçšããŠããŸãã
ãã€ãã¯ãããã䜿ããã§ãããããã䜿ããšå°å
¥ã®é£æåºŠãäžãã£ãŠããŸãã®ã§ãç°¡åã«äœ¿ãããã®ã§ãã¹ãããŠã¿ãŸããã
Webããã¯ã®äœãæ¹ãšäœ¿ãæ¹ã«é¢ããŠã¯ã以äžã§èšäºãæçš¿ããŸããã®ã§åãããŠã確èªãã ããã
ã¡ãªã¿ã«botã䜿ã£ãŠç°¡åã«è»¢éããæ¹æ³ã§ããšãç§ã玹ä»ããŠãããã®ã³ã°ãããã䜿ããšããæããããŸãã
ç§ã®ãã³ãã¬ãŒãã䜿ãå Žåããã®ãã®ã³ã°ããããå°å
¥ããããšãã§ããéåžžã«ç°¡åãªå
¥åã ãã§Discordã«è»¢éããããšãã§ããŸãã
ã¡ãªã¿ã«noteã®ãã©ããŒã®ã¡ãŒã«ãèªå転éãããšãããªæãã
ä»åã¯ã¡ãŒã«ãåä¿¡ããã«ããã£ãŠãHTML圢åŒã®å Žåã¯å
šãŠã¿ã°ãåãé€ãããã¬ãŒã³ããã¹ãã«ããããã«ããŠããŸãã
HTML圢åŒã§ããšãnoteã®ã¡ãŒã«ã¯ãã®ãããé·ã人éãèŠãŠããã£ã±ãåãããªãã®ã§ããAIã«å
¥åããããã®ãªããæåæ°ãå€ãããŠåŠçãéãããåŸé課éãäžãã£ãŠããŸããŸãã

䜿çšäŸ (Lineã«ã転éããŠã¿ã)
ãã£ãããªã®ã§Lineã®BOTã䜿ã£ãŠã°ã«ãŒãã«è»¢éãããŠã¿ãŸããã
ãããªæãã§BOTãã¡ãŒã«ã®å
容ã転éããŠãããŸãã
æ¬å Žã®"å
¬åŒã¢ã«ãŠã³ã"ã¿ããã§ããww

ååèµ·åãšèšå®
ãã®ã»ã¯ã·ã§ã³ã§ã¯ããã°ã©ã ãããŠã³ããŒãããã ããå Žåãå®éã«ã©ããã©ã®ããã«æžãæããã°äœ¿çšã§ããã®ãã«ã€ããŠè§£èª¬ããŸãã
ãŸããåæãšããŠPCã«ã¯Pythonãå
¥ã£ãŠããå¿
èŠããããŸãã
å°å
¥æ¹æ³ã¯ãã¡ããåèã«ããŠãã ããã
æ¬ããŒã«ã¯ååèµ·åæã¯èšå®ããªãããå³èœã¡ããŸãã
ãšããããstart.batãå®è¡ããèªåç°å¢æ§ç¯ãè¡ããŸãã
Linuxã®å Žåã¯start.shã§ãã

ç°å¢æ§ç¯ãçµãããšä»¥äžã®ããã«ããŒã¿ãããããå¢ããŸãã
äžçªäžã®ã³ã³ãã£ã°ãã¡ã¢åž³ã§éããŠãã ããã

äžèº«ãéããšãã®ããã«ãªã£ãŠããŸãã
ãã®ãã¡ãGmailã«é¢ããéšåã®èšå®ãå
¥åããå¿
èŠããããŸãã
ãŠãŒã¶ãŒããŒã ãšã¢ããªãã¹ã¯ãŒããèªåã®ã¡ãŒã«ã¢ãã¬ã¹ãšã¢ããªãã¹ã¯ãŒãã«çœ®ãæããŸãã
ã¢ããªãã¹ã¯ãŒãã®ååŸæ¹æ³ã«ã€ããŸããŠã¯ããã®äžã®Googleã¢ã«ãŠã³ãã®æºåãåç
§ããŠãã ããã

ãã以å€ã®èšå®ã«é¢ããŠã¯ãæ¬ããŒã«ã¯ç¡éã«ãŒãã§ã¡ãŒã«ãµãŒããŒã«ãã§ãã¯ãã«è¡ãããã«ãªã£ãŠããŸãã®ã§ããã§ãã¯ééãç§æ°ã§å ¥åããŠãããŸããããã©ã«ãã¯300ã§5åããã§ããå€ãããå Žåã¯ãããå€ããŠãã ããã
äžçªæåŸã¯èšå®ã§ã¯ãªãã·ã¹ãã ã®å€æ°ã§ããããã¯æåŸã«ååŸããã¡ãŒã«ã®æ¥æãèšé²ããŠãããã¡ãŒã«ãããããªãããã«ããããã®ãã®ã§ããããŸãã«ãå€ãã®ããŒã¿ãååã«ååŸããŠããŸããªãããã«ãååã¯æšæ¥ã®æ¥ä»ã«ãªãããã«èª¿æŽãããŠããŸãã
ããååã«ã¡ãŒã«ãå
šãŠååŸããããªã©ã§ããã°ã2000幎ãªã©ãéå»ã®æ¥ä»ã«æ»ãããšãã§ããŸãããŸããããªã«å€§éã®ã¡ãŒã«ãåŠçããå®çžŸã¯ãªãã®ã§åããåãããŸãããã
ã¡ãŒã«èªååŠçã®èšå®
é
åžããŠãããã©ã«ãã®äžã®"modules"ãã©ã«ããŒã®äžã«template.pyãšãããã¡ã€ã«ããããŸãã®ã§ããããã³ããããŠå¢ãããŠäœ¿ããŸãã
ãã¡ãã¯ç§ã®äŸã§ãããé²çœãšããŒãã®ãã©ããŒã¡ãŒã«è»¢éãäœã£ãŠã¿ãŸããã
ååã¯Pythonã®åœåèŠçŽã«éåããªããã°å€§äžå€«ã§ããæ¥æ¬èªãšãã¯ãã¡ã§ããã

æžãæããè¡ãéšåã¯æ¬¡ã®ç®æã§ãã
倧äœ100è¡ãããäžã«é²ããšã¡ãŒã«ã¢ãã€ã³ãšããååã®ã¯ã©ã¹ãããŸãã
ãã®äžã«ããªã¬ãŒæ¡ä»¶ããããŸãã®ã§ããŸãã¯ãããèšå®ããŸãã

ãŸãæåã«Enableã®æãTrueã«ããŠãã ããã
ãããFalseã®ãŸãŸã ãšåŠçãããªãç¶æ
ã§ãã
ãã©ã°ã®æ¬¡ã¯ããªã¬ãŒã§ãã
äŸãã°ãnote ã®ãã©ããŒã¡ãŒã«ãããªã¬ãŒããå Žåã¯ä»¥äžã®ããã«ãªããŸãã

ãã®å Žåã®æ¡ä»¶ã¯ä»¥äžã®ããã«ãªããŸãã
å·®åºäººã®ã¢ãã¬ã¹ãnoteã®èªåé
ä¿¡ã¡ãŒã«ã§ããããšããã€ä»¶åã«"ãã©ããŒ"ãå«ãŸããããšããããæ¬æã¯äœã§ãè¯ãã
æ¡ä»¶ã¯ãªã¹ãã«ããŠããŸãã®ã§ãäŸãã°"ãã©ããŒ"ãŸãã¯"ã¹ã"ã®äž¡æ¹ã®ã¡ãŒã«ãåãåãããå Žåã¯ä»¥äžã®ããã«ããŸããéä¿¡å ãæ¬æã§æ€çŽ¢ããå Žåãåãã§ãã

èªååŠçã®èšè¿°æ¹æ³
ããªã¬ãŒãæžãæãããããã«äžã«é²ã¿ã倧äœ150è¡ç®ãããã«å·®ãæãã£ããšããã«èªååŠçãèšè¿°ãããšããããããŸãã

ç¥èã®ããæ¹ã¯CustomActionã®ã¡ãœããã®äžã«å¥œããªåŠçãæžããŠããŸã£ãŠãã ããã
ã¡ãªã¿ã«Mailãªããžã§ã¯ããããããã以äžã®æ
å ±ãåãåããŸãã
å·®åºäºº:Mail.sender
ä»¶å:Mail.subject
æ¬æ:Mail.body
åä¿¡æå»:Mail.date_time
ãŸããä»åã®äŸã§äœ¿çšããŸããã®ã§ãDiscordã®Webããã¯ãå©ãã ãã§ããã°ãã³ãã¬ãŒããçšæããŸããã
äžã®ç»åã§èšãã°149è¡ç®ã®äžçªæåã®"#"ãåé€ããäžã§ã158è¡ç®ã«Webããã¯ã®URLãå
¥åããŸããââ ã ãæžããŠããã®ã§ããã®å
åŽã«ãã®ãŸãŸå
¥ããŠãã ããã
ããã ãã§æ¡ä»¶ã«ãããããã¡ãŒã«ã転éã§ããããã«ãªããŸãã

Lineã®å Žåã¯ãã¡ãã®é¢æ°ã«ãªããŸãã
TOKEN_LINEã«BOTã®ããŒã¯ã³ãèšå®ããLINE_GROUPIDã«BOTãåå ããŠããã°ã«ãŒãã®IDãèšå®ããããšã§ãããã«ã¡ãã»ãŒãžã転éããŸãã

BOTã®äœãæ¹ã¯ãã¡ããåèã«ããŠãã ãã
ã°ã«ãŒãIDã¯ãã¡ãã§äœæããããŒã«ãèµ·åãããšãã¡ãã»ãŒãžéä¿¡æã«è¡šç€ºãããŸãã
以äžãæ¬ããŒã«ã®äœ¿ãæ¹ãšãªããŸãã
åä¿¡ããããšã©ããããã¯ãŠãŒã¶ãŒæ¬¡ç¬¬ãªã®ã§ã·ã³ãã«ã§ãã
è¶
ç°¡åãªåŠçã§ããã°ã¢ã€ãã£ã¢æ¬¡ç¬¬ã§ãã³ãã¬è¿œå ãæ€èšããŸãã
ä¿åãããã¡ãŒã«ãèŠã
1床ããŒã«ãå®è¡ãããšããã®ããã«ã¡ãŒã«ãä¿åãããŸãã
ãã¡ãã¯ä¿åãããã®ã§ãããåç
§ããããã¡ã€ã«ãããã°ä»ã®ããã°ã©ã ãããåç
§ããããšãã§ããŸãã

äŸãã°ããŒããããŒããæšæ¥æ¥ãŠãã¡ãŒã«ã ãšãããªæãã§ããã
äžã®3è¡ã¯ç¢ºå®ã«åºå®ã§ããããã以äžã®æ¬æã¯äœãå
¥ã£ãŠãããããããªãã®ã§ãããªãŒãã©ãŒãããã§ãã

Googleã¢ã«ãŠã³ãã®æºå
ã¢ããªãã¹ã¯ãŒãã®äœæ
ä»åãGmailã«ã¢ã¯ã»ã¹ããããã«ã¢ããªãã¹ã¯ãŒããçæããå¿
èŠããããŸãã
Gmailã«ãã°ã€ã³ããã«ã¯ãç»é²ããã¡ãŒã«ã¢ãã¬ã¹ãšãã¹ã¯ãŒããå¿
èŠã§ãããGoogleã¢ã«ãŠã³ãã®ãã¹ã¯ãŒãã§ã¯ãªããã¢ããªãã¹ã¯ãŒããšãããã®ã䜿ããã°ã€ã³ããŸãã
ãã®èŸºã¯ã¢ã«ãŠã³ãé¢é£ã®è©±ã§ãããã®ã§ãçŽæ¥ãªã³ã¯ãèŒããã®ã§ã¯ãªãããã«ãã貌ã£ãŠãããŸãã
å°ãäžã®æ¹ã«è¡ããšãã¢ããªãã¹ã¯ãŒãã管çããããã®ãªã³ã¯ãå
¬åŒã®ãã«ãããŒãžã«ãããŸãã®ã§ãããããäœæã«é£ãã§ãã ããã
ãªããäœæããã«ã¯2段éèªèšŒãæå¹ã«ããŠããå¿
èŠãããããã§ãã

äœæç»é¢ã«å
¥ããšãã®ãããªæãã«ãªã£ãŠããŸãã®ã§ã奜ããªååãã€ããŠäœæãã¿ã³ãæŒããŸãã
ä»åã¯ãã®ãŸãŸã®ååã§äœæããŸããã

ãã®åŸã16æ¡ã®ã¢ããªãã¹ã¯ãŒãã衚瀺ãããŸãã
äžåºŠãã衚瀺ãããªãã®ã§ãå¿ããªãããã«ããŠãã ããããšã¯ãããå¿ããããŸãåçæããã°ããã ããªã®ã§ãå¥ã«å¿ããŠãããã£ã¡ãããã§ãã
ããã§Googleã¢ã«ãŠã³ãåŽã®æºåã¯å®äºã§ããææ°ã®èªèšŒã«æ¯ã¹ãŠã»ãã¥ãªãã£é¢ã§å£ã£ãŠãããšã®ããšã§ãGoogleã¯æšå¥šããªããšæžããŠãããŸãã
ãã®ãããã¯æ¿ç¥ã®äžã§é²ããããã«ããŠãã ããã
解説
ãœãŒã¹ã³ãŒãã®è§£èª¬ã¯å¥éèšäºãäœæäºå®
èªåã®ã¡ãŒã«ãæ±ãã·ã¹ãã ã§ãã®ã§ãäžèº«ãã¡ãããšåãã£ãŠãªããšä¿¡çšã§ããªããšããæ¹ã¯è§£èª¬ã®æ¹ã«ç®ãéãããšããå§ãããŸãã
ãŸãšã
ä»åã¯GmailãPythonã§åä¿¡ããŠããã®å
容ããèªååŠçã«ã€ãªãéšåãäœæããŸããã
äŸé¡ãšããŠDiscordã«ã¡ãã»ãŒãžã転éããŸããããããããã¯ããã§æ®éã«äœ¿ããŸããã
ãããŸããLinuxã§Systemdã«è¿œå
æ¬äœã¯äž»ã«Linuxã§24H皌åããŠããã³ã³ãã¥ãŒã¿ãŒã§ã®å®è¡ãæ³å®ããŠããŸãã
ãã®å Žåã¯Systemdã䜿ãWindowsã§ããã¹ã¿ãŒãšã¢ãã(å³å¯ã«ã¯ã¿ã¹ã¯ã¹ã±ãžã¥ãŒã©)ã§èµ·åæã«èªåå®è¡ããã®ã§ãããèšå®ãã¡ã€ã«ãšãå°å³ã«é¢åã§ãã
ããã§ããããµãŒãã¹ã¯è¿œå ããã®ã§æ¯æŽã¹ã¯ãªãããçšæããŸããã
ãããããã°åèã«ããŠã¿ãŠãã ããã
é åžæ å ±
é åžURL
以äžã®URLããé
åžããŠããŸãã
å©çšèŠçŽã«åæã®äžãå©çšãã ããã