æ¿ç¥ããããŸãããããã¯å°ãæ®å¿µã§ãããªããªãããµããŒãã±ãŒã¹ã®å
šäœåãææ¡ããããã«ãDiscordã®ãµããŒããã£ã³ãã«ã§ã¹ã¬ããã匷å¶ããã°ããã ããã§ãããããå®éã«åœ¹ç«ã€ãã©ããã¯ããããŸãããã幞ããªããšã«ä»ã®å©ç¹ããããŸãã
APIã®ETAãšããã®æ©èœã®ããã¯ãšã³ãã«ãããè²»çšã®èŠç©ããã¯ãããŸããïŒ
ããããšãããããŸãïŒ
/k
ããããïŒã 2
merefield
(Robert)
2022 幎 3 æ 12 æ¥ååŸ 12:30
89
æè¿ãã§ã€ã¹ããŸãããããã°ããéçºãç¶ããŠããŸããããäžåºŠãã§ã€ã¹ããŠæãè¿ããŸãããæ³šæããŠãã ãããååã¯ãã§ãããã§ããããšèšãããŸããããªãŒãã³ãœãŒã¹ã®åé¡ã¯ãå€ãã®å Žåãã³ãã¥ããã£ããã®é©åãªè³é調éïŒãŸãã¯ãã®æ¬ åŠïŒãæ¯æŽããéäžãšåªå
é äœä»ããè¡ãããã®è¯ãæ¹æ³ããªãããšã§ããæ§åãèŠãŸãããã
ç§ã®æ¹ã§ã¯ãæçµçãªå®è£
ãèŠãŠãåŽåãæšå®ããå¿
èŠããããŸãã
課é¡ã¯ãã¡ãã»ãŒãžãã³ããŒããã®ã¯ç°¡åã§ãããã¹ã¬ããããããã¯ãšåæããç¶ããã«ã¯ãDiscourseå
ã§äœããã®ãããã³ã°ãç¶æããå¿
èŠããããããããªããšããããšã§ããäŸãã°ãDiscordã¹ã¬ãããDiscourseãããã¯ã«ãããã³ã°ããã«ã¹ã¿ã ãã£ãŒã«ããŸãã¯ããŒãã«ãããã°ãæ°ããã¡ãã»ãŒãžãã¹ã¬ããã«è¿œå ããããšãã«ãDiscourseã®ã©ãã«é
眮ããã°ããããããããŸãã
æ±ããŠããæ©èœ/åäœãå
·äœçã«èª¬æããŠããã ããŸããïŒ
ããããïŒã 2
確ãã«ã圱é¿ãäžããããªããã®ã«äŸåããã®ã¯ææªã§ããã
ç§ã®ã¢ã€ãã¢ã¯ãèšäºãšãDiscordãšDiscourseãäºããã©ãã ãããŸãè£å®ã§ãããã«ã€ããŠã®Discourseããã°ã§ã®è°è«ã«å€§ããè§ŠçºãããŠããŸããçŽ2ãæåã«DiscordãµãŒããŒãéå§ãããšãããããã©ã®ããã«é²åããæ¢åã®ïŒãããã»ãšãã©èšå®ãããŠããªãïŒDiscourseãã©ãŒã©ã ã«ã©ã®ããã«åœ±é¿ãããã¯å®éã«ã¯ããããŸããã§ãããã人ã
ã¯æè¡ãµããŒãã®è³ªåãããããã«Discordãšåæ§ã«ããã䜿çšããŠããããã§ãïŒç§ã¯FOSSãããžã§ã¯ãCrowdSecã«é¢ãã£ãŠããŸãïŒããã®ãããDiscourseãé·æçãªèšæ¶ãšããŠäœ¿çšããDiscordã®ã¹ã¬ãããDiscordãã£ã³ãã«ã«äžèŽãããããã¯ã®äžã«Discourseã«åæããïŒãŸãã¯ãã®éïŒãšããèãã«å®å
šã«è³åããŸããç§ã®èŠæ¹ã§ã¯ãã¹ã¬ããã䜿çšããããšã§ãã¯ããã«å¹æçã«ïŒäŸãã°èªåçã«ïŒè¡ãããšãã§ããŸãã
åè¿°ã®ããã«ãæè¿Discordã§ã¹ã¬ããã匷å¶ããŸãããããã¯ããŠãŒã¶ãŒãµããŒããæ
åœããéçºè
ã«ãšã£ãŠãåžžã«ã¹ã¬ããã®æŠèŠãææ¡ããã®ã容æã§ã¯ãªãããšãæå³ããŸãããã®ãããDiscourseãžã®åæããåçãã¹ã質åã«ã€ããŠææ°æ
å ±ãå
¥æããããã®è¯ãæ¹æ³ãšããŠã䜿çšããããšèããŠããŸãããDiscordã®ãã£ããã«ããŸãåŒã蟌ãŸããªãããã«ãããã§ãã
ããã¯çã«ããªã£ãŠããŸããïŒãããŠãããããããçãæéã§ãããéæããä»ã®æ¹æ³ã¯ãããŸããïŒ
ããããïŒã 2
Hi @merefield æ§ïŒ
GitHubã®Issueã確èªãããŠããªããããªã®ã§ããã¡ãã§ãé£çµ¡ããããŸãããã¡ããæ¬¡åã®çããšåããŸãã
Discordããããã©ã°ã€ã³ã«èµ·å ãããšã©ãŒãçºçããŠããŸããäžèšã®ç»åã¯ã€ã³ã¹ãã¯ã¿ã®ãšã©ãŒã瀺ããŠããŸãããPMãéä¿¡ãããŠãŒã¶ãŒããPMéä¿¡æã«ã500 Errorããšãã衚瀺ãåãåããŸããPMã¯æ£åžžã«éä¿¡ãããŸããããã®ãšã©ãŒã«ãããããã§ã¯ãªãããã«èŠããŸãããã©ã°ã€ã³ãç¡å¹ã«ãããšãåé¡ã¯çºçããªããªããŸãã
ãã®åé¡ã¯ /lib/discourse_event_handlers.rb ããçºçããŠãããšç¢ºä¿¡ããŠããŸããPMã post_created DiscourseEventãããªã¬ãŒããããã posted_category = post.topic.category.id ãä»ããŠæçš¿ã®ã«ããŽãªã«ã¢ã¯ã»ã¹ããããšãããšã©ãŒãåŒãèµ·ãããŠãããšæšæž¬ããŠããŸãã
ãããåé¡è§£æ±ºã®äžå©ãšãªãã°å¹žãã§ããæ©æ¥ãªè§£æ±ºãé¡ã£ãŠãããŸããããããšãããããŸãã
ããããïŒã 2
merefield
(Robert)
2022 幎 3 æ 20 æ¥ååŸ 9:05
92
ã¬ããŒãããããšãããããŸãã倧äœãããªãšããã§ããããä»é±äžã«ç¢ºèªã§ãããããããŸããâŠ
ããããïŒã 2
çŽ æŽããããããããšãããããŸãïŒã¢ããããŒãã«æ³šç®ããŠãããŸãã
ããããïŒã 2
merefield
(Robert)
2022 幎 3 æ 26 æ¥åå 7:28
94
ã¯ã©ã€ã¢ã³ãã¯ãŒã¯ã§æäžæ¯ãªã®ã§ããã°ããã®é察å¿ã§ããªãå¯èœæ§ããããŸãã
ãããŸã§ã®éããã«ãªã¯ãšã¹ãã¯æ¿èªãããŸããã
å
šäœãšããŠãããªãŒãã©ã°ã€ã³ãžã®ã³ãã¥ããã£ããã®è²¢ç®ããã£ãšæè¿ããããšæããŸãã
ããããïŒã 2
merefield
(Robert)
2022 幎 4 æ 11 æ¥ååŸ 5:48
95
çŸåšãç§ã¯éåžžã«å¿ããã®ã§ãããä¿®æ£ãããšæããããã®ãããã·ã¥ããŸããã
FIX: exclude private messages from bot event considerations · merefield/discourse-discord-bot@82b2109 (github.com)
ããã§åäœããŠããããã§ãPMã§ã®æããã500ãšã©ãŒã¯ãªããªããŸããâŠ
ããããïŒã 2
Robert:
èªåã§ãã¡ãã»ãŒãžããšã«ãDiscourse ã®åãååã®ã«ããŽãªãžããã£ã³ãã«ãããã£ãããã³ããŒããŸãããã£ã³ãã«åãã«ããŽãªåãšäžèŽããå Žåãã¡ãã»ãŒãžã Discourse ã«ã³ããŒãããŸãã
ããã¯çŽ æŽãããã§ããïŒãããŠãDiscord Chat ã眮ãæãããã®ã«ãªããŸããïŒ
Discourse ã®ã¹ã©ãã°åãèªã¿åãããã«ãªã£ãŠããŸããããããšãã¿ã€ãã«ã ãã§ããïŒ
ããããïŒã 1
merefield
(Robert)
2022 幎 7 æ 8 æ¥ååŸ 2:28
97
Discordã¯ãã¹ã©ãã°ã§ã¯ãªããã¿ã€ãã«ã§ç®¡çãããŸãã
ããããïŒã 2
forgondolin
(Kaleb Alves)
2022 幎 7 æ 9 æ¥ååŸ 2:28
98
ããã«ã¡ã¯ã以åã«è³ªåãããããšããããåãããŸããããOAuthèªèšŒæ
å ±ã¯ã¢ããªãšåãã§ãªããã°ãªããŸãããïŒ çŸåšãå¥ã®Discordåæçµ±åã䜿çšããŠãããOAuthãã£ãŒã«ãã¯ãã§ã«èšå
¥ãããŠããŸããããããšãããããŸãã
ããããïŒã 1
merefield
(Robert)
2022 幎 7 æ 9 æ¥ååŸ 2:37
99
ãã®ãã©ã°ã€ã³ã¯ãã³ã¢ã®å
¬åŒãœãŒã·ã£ã«ãã°ã€ã³ãœãªã¥ãŒã·ã§ã³ãšäºææ§ããããŸãããããã«ã¯ãæ¿èªãããDiscordã¢ããªããã®ããŒã¯ã³ãå¿
èŠã§ãããœãŒã·ã£ã«ãã°ã€ã³ã«ããããã©ã°ã€ã³ã¯2ã€ã®ãã©ãããã©ãŒã éã§åããŠãŒã¶ãŒãèå¥ã§ããŸãã
ããããïŒã 2
forgondolin
(Kaleb Alves)
2022 幎 7 æ 9 æ¥ååŸ 2:42
100
åçããããšãããããŸãïŒèšå®ã§äœãè¶³ããªãã®ããããå°ããããã°ããŠã¿ãŸãã
ããããïŒã 2
merefield
(Robert)
2022 幎 7 æ 9 æ¥ååŸ 2:49
101
Discordã¢ããªãšåãã§ããå¿
èŠã¯ãããŸãããã詊ããŠã¿ãŠãã ããïŒ
ããããïŒã 2
Skip
(Antonio Nardella)
2022 幎 7 æ 11 æ¥ååŸ 1:03
102
ããã«ã¡ã¯ïŒ
Discordã¢ã«ãŠã³ãã«åºã¥ããŠDiscourseãŠãŒã¶ãŒã«ç°ãªãä¿¡é Œã¬ãã«ãä»äžããæ¹æ³ããã©ãŒã©ã ã§æ€çŽ¢ãããšãããããã«ãã©ãçããŸããã
ãã§ã«Discordã§æŽ»çºãªã³ãã¥ããã£ããããæè¿Discourseãå°å
¥ããŠãããæŽçãããè°è«ãè¡ã£ãŠããŸãã
次ã®ãããªãœãªã¥ãŒã·ã§ã³ãæ¢ããŠããŸããDiscordã§ç¹å®ã®ããŒã«ãæã€ã¡ã³ããŒãDiscordã¢ã«ãŠã³ãã§ãã°ã€ã³ãããšãDiscourseã§èªåçã«ä¿¡é Œã¬ãã«1ãä»äžãããŸãã
ãã®Bot Kitã¯ããã®ãããªå®è£
ã®é©åãªåºçºç¹ã«ãªããŸããïŒ
ããããšãããããŸãã
ããããïŒã 1
ãã®ãããã¯ãç¥ãéããDiscourseããDiscordãžã®ãäžæ¹éè¡ãã§ããéæ¹åã®æ©èœã¯çµã¿èŸŒãŸããŠããŸããã
å人çã«ã¯ãDiscourseã€ã³ã¹ããŒã«ã®ãŠãŒã¶ãŒã€ãã³ãWebhookãç£èŠããå€éšã³ãŒãã§ãããéæããæ¹ãã¯ããã«ç°¡åã ãšæããŸãã
Webhookã€ãã³ãéä¿¡ â DiscourseããŒã¿ããŒã¹ããDiscordãŠãŒã¶ãŒIDãååŸïŒDiscordèªèšŒã®äœ¿çšãå¿
èŠïŒ-> discord.jsã.pyãªã©ã§ããŒã«ãååŸ â Discourse APIãªã¯ãšã¹ãã§ããŒã«ãå²ãåœãŠ
Discord IDãååŸããã«ã¯ãData Explorerãã©ã°ã€ã³ã䜿çšããŠæ¬¡ã®ã¯ãšãªãäœæããå¿
èŠããããŸãã
-- [params]
-- string :user
SELECT u.username, u.id, a.user_id, a.provider_name, a.provider_uid
FROM users u
JOIN user_associated_accounts a on a.user_id = u.id
WHERE u.username = :user
ãã®åŸãData Explorerãã©ã°ã€ã³ã®ããã¥ã¡ã³ããåç
§ããAPIãªã¯ãšã¹ãã§ãã®ã¯ãšãªãå®è¡ããŠIDãååŸã§ããŸãã
ããã§ãããã圹ç«ã€ããšãé¡ã£ãŠããŸãã
ããããïŒã 1
merefield
(Robert)
2022 幎 7 æ 16 æ¥åå 4:46
104
ããã¯ããŒã«åæã«é¢ããŠã¯çå®ã§ããããã以å€ã¯æ£ãããããŸããã
OPããïŒ
Robert:
äžå®ã®åºæºãæºããã³ã³ãã³ãã®åæ¹åèªåæçš¿ãæäŸããŸãã
ã¡ãã»ãŒãžãéæDiscourseã«ã³ããŒããã³ãã³ã
ãããã£ãŠãDiscordããDiscourseãžã®åäœã¯ããããããããããŒã«åæãããããšã¯çšé ãã§ãã
ãã€ãã®ããã«ãäžè¬çã«åœ¹ç«ã€è¿œå æ©èœãããã°PRãæè¿ããŸããã³ãã¥ããã£ããã®è¿œå ããããšè¯ãã§ãããã
ããããïŒã 4
@merefield æçš¿ããããšãããããŸãã
DiscordãæããŠããã ããŸããïŒãããããããã°ãããã€ã質åããããŸãã
AquaL1te
2023 幎 1 æ 31 æ¥ååŸ 12:21
106
ç¥èããªãŒãã³ã«ããããŠèª°ã«ã§ãæ€çŽ¢å¯èœã«ä¿ã€ããã«ã¯ã質åã¯ããã§è¡ãã®ãæåã§ããããDiscordã¯æ
å ±ã®ãã©ãã¯ããŒã«ã§ããæ
å ±ãå
¥ã£ãŠããäºåºŠãšèŠã€ããããªããªã£ãŠããŸããŸã ãã以å€ã«ããDiscourseã§ã®ãã£ããããããŸãã
ããããïŒã 1
merefield
(Robert)
2023 幎 1 æ 31 æ¥ååŸ 5:03
107
Keneãããåçšç®çã§ãªãå Žåã¯ãã³ãã¥ããã£ãïŒãããã¯åçè
ãïŒå©çãåŸãããããã«ãããã§è³ªåããŠããã ãããšå¹žãã§ãã
ããããïŒã 3