本文整理汇总了TypeScript中discord.js.RichEmbed.addField方法的典型用法代码示例。如果您正苦于以下问题:TypeScript js.RichEmbed.addField方法的具体用法?TypeScript js.RichEmbed.addField怎么用?TypeScript js.RichEmbed.addField使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类discord.js.RichEmbed
的用法示例。
在下文中一共展示了js.RichEmbed.addField方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: warn
warn(info: string, callback?: () => void) {
this.findInfo();
if (this.client.readyAt == null) { return; }
const embed = new RichEmbed();
embed.setAuthor("Weeb Bot");
embed.setColor("RED");
embed.addField("WARNING", info);
this.channel.send(embed);
}
示例2: parseInt
valueKeywords.forEach((vk) => {
let key = vk.split(':')[0]
const value = vk.split(':')[1]
if (key === 'mana') { key = 'cost' }
let filter
if (key === 'artist') {
winston.debug(`Filtering cards for artist name that includes '${value}'.`)
filter = (card: Card) => {
return card.artist && card.artist.toLowerCase().includes(value.toLowerCase())
}
searchEmbed.addField('Artist', `Name contains '${value}'`, true)
} else {
if (value.endsWith('+')) {
const num: number = parseInt(value.slice(0, -1), 10)
winston.debug(`Filtering cards for '${key}' >= '${num}'.`)
// @ts-ignore: No index defined on Card class currently
filter = (card: Card) => card[key] >= num
searchEmbed.addField(key, `${num} or more`, true)
} else if (value.endsWith('-')) {
const num: number = parseInt(value.slice(0, -1), 10)
winston.debug(`Filtering cards for '${key}' <= '${num}'.`)
// @ts-ignore: No index defined on Card class currently
filter = (card: Card) => card[key] <= num
searchEmbed.addField(key, `${num} or less`, true)
} else if (value.includes('-')) {
const min: number = parseInt(value.split('-')[0], 10)
const max: number = parseInt(value.split('-')[1], 10)
winston.debug(`Filtering cards for '${key}' between '${min}' and '${max}'.`)
// @ts-ignore: No index defined on Card class currently
filter = (card: Card) => card[key] >= min && card[key] <= max
searchEmbed.addField(key, `Between ${min} and ${max}`, true)
} else {
winston.debug(`Filtering cards for '${key}' == '${value}'.`)
// @ts-ignore: No index defined on Card class currently
filter = (card: Card) => card[key] === parseInt(value, 10)
searchEmbed.addField(key, `Equal to ${value}`, true)
}
}
cards = cards.filter(filter)
}, this)
示例3: run
public async run(msg: CommandMessage, args: string[]) {
if (!msg.channel.typing) { msg.channel.startTyping() }
winston.debug('Fetching all cards.')
let cards: Card[] = await CardData.getLatest()
if (msg.channel.typing) { msg.channel.stopTyping() }
const valueKeywords: string[] = []
const words: string[] = []
args.forEach((arg) => {
arg = arg.toLowerCase()
if (arg.includes(':')) {
valueKeywords.push(arg)
} else {
words.push(arg)
}
}, this)
cards = cards.filter((card) => card.collectible && card.type !== 'HERO')
const searchEmbed: RichEmbed = new RichEmbed()
if (valueKeywords.length > 0) {
valueKeywords.forEach((vk) => {
let key = vk.split(':')[0]
const value = vk.split(':')[1]
if (key === 'mana') { key = 'cost' }
let filter
if (key === 'artist') {
winston.debug(`Filtering cards for artist name that includes '${value}'.`)
filter = (card: Card) => {
return card.artist && card.artist.toLowerCase().includes(value.toLowerCase())
}
searchEmbed.addField('Artist', `Name contains '${value}'`, true)
} else {
if (value.endsWith('+')) {
const num: number = parseInt(value.slice(0, -1), 10)
winston.debug(`Filtering cards for '${key}' >= '${num}'.`)
// @ts-ignore: No index defined on Card class currently
filter = (card: Card) => card[key] >= num
searchEmbed.addField(key, `${num} or more`, true)
} else if (value.endsWith('-')) {
const num: number = parseInt(value.slice(0, -1), 10)
winston.debug(`Filtering cards for '${key}' <= '${num}'.`)
// @ts-ignore: No index defined on Card class currently
filter = (card: Card) => card[key] <= num
searchEmbed.addField(key, `${num} or less`, true)
} else if (value.includes('-')) {
const min: number = parseInt(value.split('-')[0], 10)
const max: number = parseInt(value.split('-')[1], 10)
winston.debug(`Filtering cards for '${key}' between '${min}' and '${max}'.`)
// @ts-ignore: No index defined on Card class currently
filter = (card: Card) => card[key] >= min && card[key] <= max
searchEmbed.addField(key, `Between ${min} and ${max}`, true)
} else {
winston.debug(`Filtering cards for '${key}' == '${value}'.`)
// @ts-ignore: No index defined on Card class currently
filter = (card: Card) => card[key] === parseInt(value, 10)
searchEmbed.addField(key, `Equal to ${value}`, true)
}
}
cards = cards.filter(filter)
}, this)
}
if (words.length > 0) {
const searchTerm: string = words.join(' ').toLowerCase()
const searchKeys: string[] = ['name', 'playerClass', 'race', 'rarity', 'text', 'type']
winston.debug(`Searching cards for '${searchTerm}'.`)
cards = cards.filter((card: Card) => {
// @ts-ignore: No index defined on Card class currently
return (searchKeys.some((key: string) => card[key] && card[key].toLowerCase().includes(searchTerm)) ||
(card.set && this.cardSetMatches(card.set, searchTerm)))
})
searchEmbed.addField('Search Term', searchTerm, true)
}
winston.debug('Sorting cards by name')
cards.sort((a, b) => {
const nameA: string = a.name.toLowerCase()
const nameB: string = b.name.toLowerCase()
if (nameA < nameB) { return -1 }
if (nameA > nameB) { return 1 }
return 0
})
let results = '_Sorry, got nothing_'
if (cards.length > 0) {
results = oneLine`
_Found ${cards.length} card${cards.length === 1 ? '' : 's'}
that match${cards.length === 1 ? 'es' : ''}._
`
if (cards.length > MAX_RESULTS) { results += ` _Here are the first ${MAX_RESULTS}._` }
const cardNames: string[] = cards.slice(0, MAX_RESULTS).map((c: Card) => c.name)
results += '\n' + cardNames.map((n) => {
return `[${n}](http://hearthstone.gamepedia.com/${n.replace(/\s/g, '_')})`
}).join(' | ')
}
searchEmbed.addField('Results', results)
//.........这里部分代码省略.........