Как мне исправить этот код, чтобы отправить в #reported

Чтобы обозначить выбросы с именами ростов (на основе ответа JasonAizkalns )

library(dplyr)
library(ggplot2)
library(tibble)

is_outlier <- function(x) {
  return(x < quantile(x, 0.25) - 1.5 * IQR(x) | x > quantile(x, 0.75) + 1.5 * IQR(x))
}

dat <- mtcars %>% tibble::rownames_to_column(var="outlier") %>% group_by(cyl) %>% mutate(is_outlier=ifelse(is_outlier(drat), drat, as.numeric(NA)))
dat$outlier[which(is.na(dat$is_outlier))] <- as.numeric(NA)

ggplot(dat, aes(y=drat, x=factor(cyl))) + geom_boxplot() + geom_text(aes(label=outlier),na.rm=TRUE,nudge_y=0.05)

-2
задан Tristo 15 January 2019 в 21:47
поделиться

1 ответ

Две вещи неверны:

В операторе return, который вы использовали в коде, есть проблема. return выходит из подпрограммы, поэтому строка bot.send_message(bot.get_channel("534496148149370900"), mesg) фактически никогда не вызывается. Таким образом, ваш код должен измениться на что-то вроде этого:

#---Report Command---#
@bot.command(pass_context=True)
async def report(ctx,  reportedTag, reporterTag, *reasons):

if int(ctx.message.channel.id) == 416164062901305345:
    reason = ' '.join(reasons)
    await bot.delete_message(ctx.message)   
    mesg = "Report by "+ reporterTag +  " for " + reportedTag + "Reason is: " + reason
    await bot.send_message(bot.get_channel("534496148149370900"), mesg)
    return await bot.say("Report recieved. Staff have been notified :)\nEnjoy your day and we'll take care of this")
else:
    print ("Something went wrong") 

Кроме того, если «Что-то пошло не так» на самом деле выводится , это означает, что int(ctx.message.channel.id) == 416164062901305345 ложно. Пожалуйста, проверьте ID и канал, на котором вы пишете.

0
ответ дан AlexINF 15 January 2019 в 21:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: