Skip to content

Commit

Permalink
Use GuildTextableChannel cast and remove members.find(id).
Browse files Browse the repository at this point in the history
- Get rid of guild.channels.get(message.channel.id) as cast.
- Replace leftover members.find(e => e.id === id) with members.get(id).
  • Loading branch information
retrixe committed Aug 21, 2020
1 parent f64b0e6 commit 6b1cfb4
Show file tree
Hide file tree
Showing 9 changed files with 25 additions and 25 deletions.
4 changes: 2 additions & 2 deletions server/bot/client.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Message, MessageContent, Client } from 'eris'
import { Message, MessageContent, Client, GuildTextableChannel } from 'eris'
import { DB, Command as IveBotCommand, IveBotCommandGenerator, Context } from './imports/types'
import { Db } from 'mongodb'
import { getInsult } from './imports/tools'
Expand Down Expand Up @@ -159,7 +159,7 @@ export default class CommandParser {
let sent
if ( // No permission protection is here as well.
messageToSend && ((message.member &&
message.member.guild.channels.get(message.channel.id)
(message.channel as GuildTextableChannel)
.permissionsOf(this.client.user.id).has('sendMessages')) || message.channel.type === 1)
) sent = await message.channel.createMessage(this.disableEveryone(messageToSend))
if (command.postGenerator) command.postGenerator(message, args, sent, context)
Expand Down
4 changes: 2 additions & 2 deletions server/bot/commands/admin/ban.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,15 +43,15 @@ export const handleBan: Command = {
if (!user) return `Specify a valid user, ${getInsult()}.`
// If the user cannot ban the person..
if (
message.member.guild.members.find(i => i.user === user) &&
message.member.guild.members.get(user.id) &&
checkRolePosition(message.member.guild.members.get(user.id)) >=
checkRolePosition(message.member)
) return `You cannot ban this person, you ${getInsult()}.`
// Now we ban the person.
const f = parseSilentDelete(args)
// If we can't ban the person..
if (
message.member.guild.members.find(i => i.user === user) &&
message.member.guild.members.get(user.id) &&
(checkRolePosition(message.member.guild.members.get(user.id)) >=
checkRolePosition(message.member.guild.members.get(client.user.id)) ||
!message.member.guild.members.get(client.user.id).permission.has('banMembers'))
Expand Down
14 changes: 7 additions & 7 deletions server/bot/commands/admin/index.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { Command } from '../../imports/types'
import { getInsult, getUser } from '../../imports/tools'
import { checkRolePosition } from '../../imports/permissions'
import { Message } from 'eris'
import { Message, GuildTextableChannel } from 'eris'
export { handleAddemoji, handleDeleteemoji, handleEditemoji, handleEmojiimage } from './emoji'
export { handleWarn, handleWarnings, handleClearwarns, handleRemovewarn } from './warn'
export { handleGiverole, handleTakerole, handleNotify } from './roles'
Expand Down Expand Up @@ -34,7 +34,7 @@ export const handlePurge: Command = {
requirements: {
permissions: { 'manageMessages': true },
custom: (message) => (
message.member.guild.channels.get(message.channel.id)
(message.channel as GuildTextableChannel)
.permissionsOf(message.author.id).has('manageMessages')
)
}
Expand All @@ -45,7 +45,7 @@ export const handlePurge: Command = {
isNaN(+args[0]) || args.length !== 1 || +args[0] <= 0 || +args[0] > 100
) { return 'Correct usage: /purge <number greater than 0 and less than 100>' }
// Check bot for permissions.
const permission = message.member.guild.channels.get(message.channel.id).permissionsOf(client.user.id)
const permission = (message.channel as GuildTextableChannel).permissionsOf(client.user.id)
if (!permission.has('manageMessages')) {
return `I lack permission to purge messages in this channel, you ${getInsult()}.`
}
Expand Down Expand Up @@ -88,7 +88,7 @@ export const handleKick: Command = {
const f = parseSilentDelete(args)
// If we can't ban the person..
if (
message.member.guild.members.find(i => i.user === user) &&
message.member.guild.members.get(user.id) &&
(checkRolePosition(message.member.guild.members.get(user.id)) >=
checkRolePosition(message.member.guild.members.get(client.user.id)) ||
!message.member.guild.members.get(client.user.id).permission.has('banMembers'))
Expand Down Expand Up @@ -134,9 +134,9 @@ export const handleSlowmode: Command = {
requirements: {
permissions: { 'manageChannels': true },
custom: (message) => (
message.member.guild.channels.get(message.channel.id)
(message.channel as GuildTextableChannel)
.permissionsOf(message.author.id).has('manageChannels') ||
message.member.guild.channels.get(message.channel.id)
(message.channel as GuildTextableChannel)
.permissionsOf(message.author.id).has('manageMessages')
)
}
Expand All @@ -147,7 +147,7 @@ export const handleSlowmode: Command = {
(isNaN(t) && args[0] !== 'off') || !args[0] || t < 0 || t > 120 || args.length > 1
) { return 'Correct usage: /slowmode <number in seconds, max: 120 or off>' }
// Check bot for permissions.
const permission = message.member.guild.channels.get(message.channel.id).permissionsOf(client.user.id)
const permission = (message.channel as GuildTextableChannel).permissionsOf(client.user.id)
if (!permission.has('manageMessages') && !permission.has('manageChannels')) {
return `I lack permission to set slowmode in this channel, you ${getInsult()}.`
}
Expand Down
4 changes: 2 additions & 2 deletions server/bot/commands/admin/mute.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ export const handleMute: Command = {
if (!user) return `Specify a valid member of this guild, ${getInsult()}.`
// Respect role order.
if (
checkRolePosition(message.member.guild.members.find(i => i.user === user), true, false) >=
checkRolePosition(message.member.guild.members.get(user.id), true, false) >=
checkRolePosition(message.member, true, false)
) return `You cannot mute this person, you ${getInsult()}.`

Expand Down Expand Up @@ -139,7 +139,7 @@ export const handleUnmute: Command = {
if (!user) return `Specify a valid member of this guild, ${getInsult()}.`
// Respect role order.
if (
checkRolePosition(message.member.guild.members.find(i => i.user === user), true, false) >=
checkRolePosition(message.member.guild.members.get(user.id), true, false) >=
checkRolePosition(message.member, true, false)
) {
return `You cannot mute this person, you ${getInsult()}.`
Expand Down
4 changes: 2 additions & 2 deletions server/bot/commands/admin/roles.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ export const handleGiverole: Command = {
) return `I lack permissions to give this role, you ${getInsult()}.`
// Give the role.
const rolesOfMember = user.id !== message.author.id // Ternary statement.
? message.member.guild.members.find(a => a.id === user.id).roles
? message.member.guild.members.get(user.id).roles
: message.member.roles
if (rolesOfMember.includes(role.id)) {
return user.id === message.author.id // Ternary statement.
Expand Down Expand Up @@ -98,7 +98,7 @@ export const handleTakerole: Command = {
) return `I lack permissions to take this role, you ${getInsult()}.`
// Give the role.
const rolesOfMember = user.id !== message.author.id // Ternary statement.
? message.member.guild.members.find(a => a.id === user.id).roles
? message.member.guild.members.get(user.id).roles
: message.member.roles
if (!rolesOfMember.includes(role.id)) {
return user.id === message.author.id // Ternary statement.
Expand Down
6 changes: 3 additions & 3 deletions server/bot/commands/admin/warn.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ export const handleWarn: Command = {
if (!user) return `Specify a valid member of this guild, ${getInsult()}.`
// Respect role order.
if (
checkRolePosition(message.member.guild.members.find(i => i.user === user)) >=
checkRolePosition(message.member.guild.members.get(user.id)) >=
checkRolePosition(message.member)
) {
return `You cannot warn this person, you ${getInsult()}.`
Expand Down Expand Up @@ -131,7 +131,7 @@ export const handleClearwarns: Command = {
if (!user) return `Specify a valid member of this guild, ${getInsult()}.`
// Respect role order.
if (
checkRolePosition(message.member.guild.members.find(i => i.user === user)) >=
checkRolePosition(message.member.guild.members.get(user.id)) >=
checkRolePosition(message.member)
) {
return `You cannot clear the warnings of this person, you ${getInsult()}.`
Expand Down Expand Up @@ -166,7 +166,7 @@ export const handleRemovewarn: Command = {
if (!user) return `Specify a valid member of this guild, ${getInsult()}.`
// Respect role order.
if (
checkRolePosition(message.member.guild.members.find(i => i.user === user)) >=
checkRolePosition(message.member.guild.members.get(user.id)) >=
checkRolePosition(message.member)
) {
return `You cannot remove a warning from this person, you ${getInsult()}.`
Expand Down
6 changes: 3 additions & 3 deletions server/bot/commands/utilities.ts
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ export const handleUserinfo: Command = {
}
if (!user) return `Specify a valid member of this guild, ${getInsult()}.`
// Display information.
const member = message.member.guild.members.find(i => i.user.id === user.id)
const member = message.member.guild.members.get(user.id)
const color = member ? (member.roles.map(i => member.guild.roles.get(i)).sort(
(a, b) => a.position > b.position ? -1 : 1
).find(i => i.color !== 0) || { color: 0 }).color : 0
Expand All @@ -117,7 +117,7 @@ export const handleUserinfo: Command = {
thumbnail: { url: user.dynamicAvatarURL('png', 2048) },
color,
fields: [
{ name: 'Status', value: member ? member.status : 'N/A', inline: true },
{ name: 'Status', value: member && member.status ? member.status : 'N/A', inline: true },
// { name: 'Join Position }
// { name: 'Name', value: user.username, inline: true },
// { name: 'Discriminator', value: user.discriminator, inline: true },
Expand Down Expand Up @@ -438,7 +438,7 @@ export const handleChangeserverregion: Command = {
invalidUsageMessage: 'Correct usage: /changeserverregion <valid server region, /listserverregion>'
},
generator: async (message, args, { client }) => {
if (!message.member.guild.members.find(a => a.id === client.user.id).permission.has('manageGuild')) {
if (!message.member.guild.members.get(client.user.id).permission.has('manageGuild')) {
return 'I require the Manage Server permission to do that..'
}
try {
Expand Down
4 changes: 2 additions & 2 deletions server/bot/index.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// We need types.
import { DB } from './imports/types'
import { Member, Message, Client, User, Guild } from 'eris'
import { Member, Message, Client, User, Guild, GuildTextableChannel } from 'eris'
import { Db } from 'mongodb'

// Database reading function.
Expand Down Expand Up @@ -97,7 +97,7 @@ export const guildDelete = (db: Db) => async (guild: Guild) => {
export default async (message: Message, client: Client, tempDB: DB, db: Db) => {
try {
if ( // If there are no permissions do not do anything.
!message.member.guild.channels.get(message.channel.id)
!(message.channel as GuildTextableChannel)
.permissionsOf(client.user.id).has('sendMessages')
) return
} catch (e) {}
Expand Down
4 changes: 2 additions & 2 deletions server/resolvers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ export default (ctx: { tempDB: DB, client: Client }) => ({
_: string, { serverId, linkToken }: { serverId: string, linkToken: string }
) => {
const member = ctx.client.guilds
.find(t => t.id === serverId).members.find(t => t.id === ctx.tempDB.link[linkToken])
.find(t => t.id === serverId).members.get(ctx.tempDB.link[linkToken])
let {
addRoleForAll, joinLeaveMessages, joinAutorole, ocrOnSend
} = await getServerSettings(db, serverId)
Expand Down Expand Up @@ -116,7 +116,7 @@ export default (ctx: { tempDB: DB, client: Client }) => ({
serverId, linkToken, addRoleForAll, joinAutorole, joinLeaveMessages, ocrOnSend
} = input
const member = ctx.client.guilds
.find(t => t.id === serverId).members.find(t => t.id === ctx.tempDB.link[linkToken])
.find(t => t.id === serverId).members.get(ctx.tempDB.link[linkToken])
if (member.permission.has('manageGuild') || host === ctx.tempDB.link[linkToken]) {
await getServerSettings(db, serverId)
await db.collection('servers').updateOne({ serverID: serverId }, { $set: {
Expand Down

0 comments on commit 6b1cfb4

Please sign in to comment.