@@ -10,6 +10,7 @@ import cloudinary, { UploadApiResponse } from 'cloudinary';
1010// @ts -expect-error
1111import { hiraganize } from 'japanese' ;
1212import { increment } from '../achievements' ;
13+ import { isPlayground } from '../lib/slackUtils' ;
1314
1415interface KirafanAteQuizProblem extends AteQuizProblem {
1516 correctAnswerCard : KirafanCard ;
@@ -48,9 +49,7 @@ const generateHintPictures = async (url: string) => {
4849 . rotate ( 180 )
4950 . toBuffer ( { resolveWithObject : true } ) ;
5051
51- const trimmedOriginal = sharp ( halfTrimmedBuffer )
52- . trim ( )
53- . rotate ( 180 ) ;
52+ const trimmedOriginal = sharp ( halfTrimmedBuffer ) . trim ( ) . rotate ( 180 ) ;
5453
5554 const trimmedFromBottom = (
5655 await trimmedOriginal . toBuffer ( { resolveWithObject : true } )
@@ -215,20 +214,22 @@ const generateHintPictures = async (url: string) => {
215214 await Promise . all (
216215 filters . map ( async filter => {
217216 const imageBuffer = await filter ( trimmedSharp ) ;
218- return ( ( await new Promise ( ( resolve , reject ) =>
219- cloudinary . v2 . uploader
220- . upload_stream (
221- { resource_type : 'image' } ,
222- ( error , response ) => {
223- if ( error ) {
224- reject ( error ) ;
225- } else {
226- resolve ( response ) ;
217+ return (
218+ ( await new Promise ( ( resolve , reject ) =>
219+ cloudinary . v2 . uploader
220+ . upload_stream (
221+ { resource_type : 'image' } ,
222+ ( error , response ) => {
223+ if ( error ) {
224+ reject ( error ) ;
225+ } else {
226+ resolve ( response ) ;
227+ }
227228 }
228- }
229- )
230- . end ( imageBuffer )
231- ) ) as UploadApiResponse ) . secure_url as string ;
229+ )
230+ . end ( imageBuffer )
231+ ) ) as UploadApiResponse
232+ ) . secure_url as string ;
232233 } )
233234 )
234235 )
@@ -272,9 +273,9 @@ const generateCorrectAnswers = (card: KirafanCard) => {
272273} ;
273274
274275const generateProblem = async (
275- card : KirafanCard
276+ card : KirafanCard ,
277+ channel : string
276278) : Promise < KirafanAteQuizProblem > => {
277- const channel = process . env . CHANNEL_SANDBOX ;
278279 const hintImageUrls = await generateHintPictures (
279280 kirafanTools . getKirafanCardBustIllustUrl ( card . cardId )
280281 ) ;
@@ -408,7 +409,7 @@ export default (slackClients: SlackInterface): void => {
408409 const { eventClient } = slackClients ;
409410
410411 eventClient . on ( 'message' , async message => {
411- if ( message . channel !== process . env . CHANNEL_SANDBOX ) {
412+ if ( ! isPlayground ( message . channel ) ) {
412413 return ;
413414 }
414415 if (
@@ -424,7 +425,7 @@ export default (slackClients: SlackInterface): void => {
424425 // クイズ開始処理
425426 if ( message . text . match ( / ^ き ら フ ァ ン 当 て ク イ ズ $ / ) ) {
426427 const randomKirafanCard = sample ( await getKirafanCards ( ) ) ;
427- const problem = await generateProblem ( randomKirafanCard ) ;
428+ const problem = await generateProblem ( randomKirafanCard , message . channel ) ;
428429 const quiz = new KirafanAteQuiz ( slackClients , problem , postOption ) ;
429430 const result = await quiz . start ( ) ;
430431 if ( result . state === 'solved' ) {
@@ -442,20 +443,31 @@ export default (slackClients: SlackInterface): void => {
442443 }
443444
444445 if ( message . text . match ( / ^ き ら フ ァ ン 当 て ク イ ズ \s ? ( e a s y | [ ☆ ★ ] 3 ) $ / ) ) {
445- const randomKirafanCard = sample ( ( await getKirafanCards ( ) ) . filter ( card => card . rare === 2 ) ) ;
446- const problem = await generateProblem ( randomKirafanCard ) ;
446+ const randomKirafanCard = sample (
447+ ( await getKirafanCards ( ) ) . filter ( card => card . rare === 2 )
448+ ) ;
449+ const problem = await generateProblem ( randomKirafanCard , message . channel ) ;
447450 const quiz = new KirafanAteQuiz ( slackClients , problem , postOptionEasy ) ;
448451 const result = await quiz . start ( ) ;
449452 if ( result . state === 'solved' ) {
450453 await increment ( result . correctAnswerer , 'kirafan-easy-answer' ) ;
451454 if ( result . hintIndex === 0 ) {
452- await increment ( result . correctAnswerer , 'kirafan-easy-answer-first-hint' ) ;
455+ await increment (
456+ result . correctAnswerer ,
457+ 'kirafan-easy-answer-first-hint'
458+ ) ;
453459 }
454460 if ( result . hintIndex <= 1 ) {
455- await increment ( result . correctAnswerer , 'kirafan-easy-answer-second-hint' ) ;
461+ await increment (
462+ result . correctAnswerer ,
463+ 'kirafan-easy-answer-second-hint'
464+ ) ;
456465 }
457466 if ( result . hintIndex <= 2 ) {
458- await increment ( result . correctAnswerer , 'kirafan-easy-answer-third-hint' ) ;
467+ await increment (
468+ result . correctAnswerer ,
469+ 'kirafan-easy-answer-third-hint'
470+ ) ;
459471 }
460472 }
461473 }
0 commit comments