diff --git a/src/scheduled-tasks/appleWarning.ts b/src/scheduled-tasks/appleWarning.ts new file mode 100644 index 0000000..22305ac --- /dev/null +++ b/src/scheduled-tasks/appleWarning.ts @@ -0,0 +1,50 @@ +// SPDX-License-Identifier: GPL-3.0-or-later +/* + Animal Rights Advocates Discord Bot + Copyright (C) 2022 Anthony Berg + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +import { ScheduledTask } from '@sapphire/plugin-scheduled-tasks'; +import { container } from '@sapphire/framework'; +import type { TextChannel } from 'discord.js'; +import IDs from '../utils/ids'; + +class AppleWarningTask extends ScheduledTask { + public constructor(context: ScheduledTask.Context, options: ScheduledTask.Options) { + super(context, { + ...options, + cron: '0 */2 * * 2-3', + }); + } + + public async run() { + const { client } = container; + + const channel = client.channels.cache.get(IDs.channels.nonVegan.general) as TextChannel; + + await channel.send('Hiya everyone, this is a warning to all **Apple users**!\n' + + 'Make sure to update your iOS, iPadOS and MacOS as there is a hack that lets anyone get remote access to your device if you click on a malicious link.\n' + + `For more information, read the post in <#${IDs.channels.information.news}>`); + } +} + +declare module '@sapphire/plugin-scheduled-tasks' { + interface ScheduledTasks { + cron: never; + } +} + +export default AppleWarningTask; diff --git a/src/utils/devIDs.ts b/src/utils/devIDs.ts index 8c6bf60..9493355 100644 --- a/src/utils/devIDs.ts +++ b/src/utils/devIDs.ts @@ -57,11 +57,17 @@ const devIDs = { verifyBlock: '1007477161835372574', }, channels: { + information: { + news: '999431676058927247', + }, staff: { coordinators: '999431676058927254', standup: '999431676289622183', verifiers: '999431677006860411', }, + nonVegan: { + general: '999431677325615189', + }, diversity: { women: '999431679053660187', lgbtqia: '999431679053660188', diff --git a/src/utils/ids.ts b/src/utils/ids.ts index 6b751db..04c842d 100644 --- a/src/utils/ids.ts +++ b/src/utils/ids.ts @@ -58,10 +58,16 @@ let IDs = { verifyingAsVegan: '854725899576279060', }, channels: { + information: { + news: '866000393259319306', + }, staff: { coordinators: '1006240682505142354', standup: '996009201237233684', }, + nonVegan: { + general: '798967615636504657', + }, diversity: { women: '938808963544285324', lgbtqia: '956224226556272670',