Update to new Knub 30 beta. Code clean-up.

This commit is contained in:
Dragory 2020-10-01 01:43:38 +03:00
parent 5d579446c5
commit 2f470dc37a
No known key found for this signature in database
GPG key ID: 5F387BA66DF8AAC1
299 changed files with 1075 additions and 1004 deletions

View file

@ -1,10 +1,10 @@
import { Message, Channel, TextChannel } from "eris";
import { StrictMessageContent, errorMessage, stripObjectToScalars, MINUTES, DBDateFormat } from "src/utils";
import { StrictMessageContent, errorMessage, stripObjectToScalars, MINUTES, DBDateFormat } from "../../../utils";
import moment from "moment-timezone";
import { LogType } from "src/data/LogType";
import { LogType } from "../../../data/LogType";
import humanizeDuration from "humanize-duration";
import { sendErrorMessage, sendSuccessMessage } from "src/pluginUtils";
import { PluginData } from "knub";
import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils";
import { GuildPluginData } from "knub";
import { PostPluginType } from "../types";
import { parseScheduleTime } from "./parseScheduleTime";
import { postMessage } from "./postMessage";
@ -15,7 +15,7 @@ const MAX_REPEAT_TIME = Math.pow(2, 32);
const MAX_REPEAT_UNTIL = moment.utc().add(100, "years");
export async function actualPostCmd(
pluginData: PluginData<PostPluginType>,
pluginData: GuildPluginData<PostPluginType>,
msg: Message,
targetChannel: Channel,
content: StrictMessageContent,

View file

@ -1,3 +1,3 @@
export function formatContent(str) {
export function formatContent(str: string) {
return str.replace(/\\n/g, "\n");
}

View file

@ -1,10 +1,14 @@
import moment, { Moment } from "moment-timezone";
import { convertDelayStringToMS } from "src/utils";
import { PluginData } from "knub";
import { convertDelayStringToMS } from "../../../utils";
import { GuildPluginData } from "knub";
import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin";
// TODO: Extract out of the Post plugin, use everywhere with a date input
export async function parseScheduleTime(pluginData: PluginData<any>, memberId: string, str: string): Promise<Moment> {
export async function parseScheduleTime(
pluginData: GuildPluginData<any>,
memberId: string,
str: string,
): Promise<Moment> {
const tz = await pluginData.getPlugin(TimeAndDatePlugin).getMemberTz(memberId);
const dt1 = moment.tz(str, "YYYY-MM-DD HH:mm:ss", tz);

View file

@ -1,14 +1,14 @@
import { PluginData } from "knub";
import { GuildPluginData } from "knub";
import { PostPluginType } from "../types";
import { TextChannel, MessageContent, Attachment, Message, Role } from "eris";
import { downloadFile, getRoleMentions } from "src/utils";
import { downloadFile, getRoleMentions } from "../../../utils";
import fs from "fs";
import { formatContent } from "./formatContent";
const fsp = fs.promises;
export async function postMessage(
pluginData: PluginData<PostPluginType>,
pluginData: GuildPluginData<PostPluginType>,
channel: TextChannel,
content: MessageContent,
attachments: Attachment[] = [],

View file

@ -1,15 +1,15 @@
import { PluginData } from "knub";
import { GuildPluginData } from "knub";
import { PostPluginType } from "../types";
import { logger } from "src/logger";
import { stripObjectToScalars, SECONDS, DBDateFormat } from "src/utils";
import { LogType } from "src/data/LogType";
import { logger } from "../../../logger";
import { stripObjectToScalars, SECONDS, DBDateFormat } from "../../../utils";
import { LogType } from "../../../data/LogType";
import moment from "moment-timezone";
import { TextChannel, User } from "eris";
import { postMessage } from "./postMessage";
const SCHEDULED_POST_CHECK_INTERVAL = 5 * SECONDS;
export async function scheduledPostLoop(pluginData: PluginData<PostPluginType>) {
export async function scheduledPostLoop(pluginData: GuildPluginData<PostPluginType>) {
const duePosts = await pluginData.state.scheduledPosts.getDueScheduledPosts();
for (const post of duePosts) {
const channel = pluginData.guild.channels.get(post.channel_id);