117 lines
4.4 KiB
Swift
117 lines
4.4 KiB
Swift
// import Foundation
|
||
// #if canImport(FoundationNetworking)
|
||
// import FoundationNetworking
|
||
// #endif
|
||
// import DiscordBM
|
||
//
|
||
// struct MessageHandler {
|
||
// let ctx: Gateway.MessageCreate
|
||
// let client: any DiscordClient
|
||
//
|
||
// static let prefix = ":"
|
||
// static let zundaGifData = try? Data(contentsOf: URL(filePath: "resources/media/zundamone.gif"))
|
||
//
|
||
// func handle() async throws {
|
||
// guard !(ctx.author?.bot ?? false) else { return }
|
||
// if (ctx.content.hasPrefix(MessageHandler.prefix)) {
|
||
// let split = ctx.content.split(separator: " ")
|
||
// let command = split.first?.trimmingPrefix(MessageHandler.prefix)
|
||
// let args = split[1...]
|
||
//
|
||
// switch command {
|
||
// case "wow": try await handleWow(args)
|
||
// case "domath": try await Wolfram.handleMath(args, client: client, ctx: ctx)
|
||
// case "hug": try await Actions.hug(args, client: client, ctx: ctx)
|
||
// case "pat": try await Actions.pat(args, client: client, ctx: ctx)
|
||
// case "pet": try await Actions.pat(args, client: client, ctx: ctx)
|
||
// default: break
|
||
// }
|
||
// } else if ctx.mentions.contains(where: { $0.id == Zundamon.ownID }) {
|
||
// if ctx.content
|
||
// .replacingOccurrences(of: "<@\(Zundamon.ownID!.rawValue)>", with: "")
|
||
// .trimmingCharacters(in: .whitespacesAndNewlines)
|
||
// .count == 0,
|
||
// let zundaGif = MessageHandler.zundaGifData
|
||
// {
|
||
// try await client.createMessage(
|
||
// channelId: ctx.channel_id,
|
||
// payload: .init(
|
||
// message_reference: .init(
|
||
// type: .default,
|
||
// message_id: ctx.id,
|
||
// channel_id: ctx.channel_id,
|
||
// guild_id: ctx.guild_id,
|
||
// ),
|
||
// files: [.init(data: .init(data: zundaGif), filename: "zundamone.gif")],
|
||
// attachments: [.init(index: 0, filename: "zundamone.gif")],
|
||
// )
|
||
// ).guardSuccess()
|
||
// } else {
|
||
// try await handle8Ball()
|
||
// }
|
||
// }
|
||
// }
|
||
//
|
||
// static let ballResponses = [
|
||
// "It is certain.",
|
||
// "It is decidedly so.",
|
||
// "Without a doubt.",
|
||
// "Yes – definitely.",
|
||
// "You may rely on it.",
|
||
// "As I see it, yes.",
|
||
// "Most likely.",
|
||
// "Outlook good.",
|
||
// "Yes.",
|
||
// "Signs point to yes.",
|
||
// "Reply hazy, try again.",
|
||
// "Ask again later.",
|
||
// "Better not tell you now.",
|
||
// "Cannot predict now.",
|
||
// "Concentrate and ask again.",
|
||
// "Don’t count on it.",
|
||
// "My reply is no.",
|
||
// "My sources say no.",
|
||
// "Outlook not so good.",
|
||
// "Very doubtful.",
|
||
// "Ui beam",
|
||
// "We are Shigure Ui",
|
||
// "We are Shigure Ux",
|
||
// ]
|
||
// func handle8Ball() async throws {
|
||
// try await client.createMessage(
|
||
// channelId: ctx.channel_id,
|
||
// payload: .init(
|
||
// content: MessageHandler.ballResponses.randomElement(),
|
||
// message_reference: .init(
|
||
// type: .default,
|
||
// message_id: ctx.id,
|
||
// channel_id: ctx.channel_id,
|
||
// guild_id: ctx.guild_id,
|
||
// ),
|
||
// )
|
||
// ).guardSuccess()
|
||
// }
|
||
//
|
||
// static let wows = [
|
||
// "<:wow:1477062414913634334>",
|
||
// "<:wow2:1477062432357875948>",
|
||
// "<:wow4:1477062471746588713>",
|
||
// "<:wow5:1477062452804849845>"
|
||
// ]
|
||
// func handleWow(_ args: ArraySlice<String.SubSequence>) async throws {
|
||
// try await client.createMessage(
|
||
// channelId: ctx.channel_id,
|
||
// payload: .init(
|
||
// content: MessageHandler.wows.randomElement(),
|
||
// message_reference: .init(
|
||
// type: .default,
|
||
// message_id: ctx.id,
|
||
// channel_id: ctx.channel_id,
|
||
// guild_id: ctx.guild_id,
|
||
// ),
|
||
// )
|
||
// ).guardSuccess()
|
||
// }
|
||
//
|
||
// }
|