notifySlack static method
dynamic
notifySlack(
{ - String? customSlackMsg,
- bool? shareLink,
- bool? shareQr,
})
Implementation
static notifySlack({
String? customSlackMsg,
bool? shareLink,
bool? shareQr,
}) async {
final slackService = SlackService();
final uploadState = UploadState();
final String? downloadLink = uploadState.uploadLink;
final slackConfig = Config().config.uploadOptions.slack;
final bool isSlackEnabled = slackConfig.enabled;
final String? slackBotToken = slackConfig.botUserOauthToken;
final String? channelId = slackConfig.defaultChannelId;
final String? customMessage = customSlackMsg ?? slackConfig.customMessage;
final List<String>? mentionUsers = slackConfig.mentionUsers;
final bool isShareDownloadLink = shareLink ?? slackConfig.shareLink;
final bool isShareQR = shareQr ?? slackConfig.shareQR;
final File qrFile = File('./release-qr-code.png');
if (isSlackEnabled && slackBotToken != null && channelId != null) {
try {
Helpers.showLoading('🔔 Sharing on Slack...');
await slackService.sendLinkAndQr(
slackBotToken: slackBotToken,
fileSizeInBytes: qrFile.lengthSync(),
file: qrFile,
channelId: channelId,
message: customMessage ?? '🎉 Your app is ready for download!',
mentions: mentionUsers,
downloadLink: downloadLink ?? Kstrings.packageLink,
isShareQR: isShareQR,
isShareDownloadLink: isShareDownloadLink,
);
print('Message sent successfully to Slack.');
} catch (e, s) {
showHighlight(
firstMessage: 'Slack error:',
highLightmessage: e.toString(),
lastMessage: s.toString(),
);
exit(0);
} finally {
Helpers.stopLoading();
}
}
}