(botId, bot, msg)
| 3713 | } |
| 3714 | if (completeTaskCount === build.tasks.length) { |
| 3715 | build.aborted = false; |
| 3716 | } |
| 3717 | build.endTime = new Date(); |
| 3718 | build.cleanup().then(async () => { |
| 3719 | if (build.publicChatId && build.publicMessageId && !(build.aborted || build.error || isPRBuild)) { |
| 3720 | try { |
| 3721 | await bot.pinChatMessage(build.publicChatId, build.publicMessageId); |
| 3722 | } catch (e) { |
| 3723 | console.log('Cannot pin chat message', e); |
| 3724 | } |
| 3725 | } |
| 3726 | }); |
| 3727 | |
| 3728 | traceDuration('build_stat', build.type, build.startTime, build.endTime, !haveErrors); |
| 3729 | if (build.invokeAfter) { |
| 3730 | for (let i = 0; i < build.invokeAfter.length; i++) { |
| 3731 | build.invokeAfter[i](); |
| 3732 | } |
| 3733 | } |
| 3734 | |
| 3735 | return true; |
| 3736 | }; |
| 3737 | estimateBuildDuration(build).then(() => { |
| 3738 | build.step(); |
| 3739 | |
| 3740 | build.message = build.asString(); |
| 3741 | build.canBeCanceled = true; |
| 3742 | |
| 3743 | bot.sendMessage(msg.chat.id, build.message, { |
| 3744 | parse_mode: 'HTML', |
| 3745 | reply_markup: replyMarkup, |
| 3746 | disable_web_page_preview: true |
| 3747 | }).then((message) => { |
| 3748 | build.serviceMessageId = message.message_id; |
| 3749 | build.updateMessage(); |
| 3750 | }).catch(globalErrorHandler()); |
| 3751 | |
| 3752 | if (build.publicChatId) { |
| 3753 | build.publicMessage = build.asString(true); |
| 3754 | bot.sendMessage(build.publicChatId, build.publicMessage, { |
| 3755 | parse_mode: 'HTML', |
| 3756 | disable_notification: true, |
| 3757 | disable_web_page_preview: true |
| 3758 | }).then((message) => { |
| 3759 | build.publicMessageId = message.message_id; |
| 3760 | build.updateMessage(); |
| 3761 | }).catch(globalErrorHandler()); |
| 3762 | } |
| 3763 | }); |
| 3764 | }); }); |
| 3765 | break; |
| 3766 | } |
| 3767 | default: { |
| 3768 | bot.sendMessage( |
| 3769 | msg.chat.id, |
| 3770 | 'Unknown command:\n' + |
| 3771 | '<pre><code class="language-javascript">' + |
| 3772 | escapeHtml(JSON.stringify(msg, null, 2)) + |
no test coverage detected