每日新闻速报, 每日 Bilibili 番剧速报
-
Mirai News Reporter
一个简单的每日新闻速报/番剧速报 mirai-console 插件
项目地址:
https://github.com/LinHeLurking/mirai-news-reporter
功能
- 爬取知乎的一个每日新闻页面, 以图片形式分享. 向机器人说 "今日新闻", "今日速报" 即可触发.
- 爬取 B 站的今日番剧列表, 以图片形式分享. 用 "今日动画", "今日番剧" 触发.
为了避免打扰网友, 群聊使用白名单管理. 只有通过命令指定的群聊, 才会在群聊中触发本机器人. 具体命令可以通过 /help 获取.
如果出现了 BUG,最好到 Github 反馈,论坛我看得不是很勤
目前排版还不是很好, 以后找机会继续优化.
效果展示:
今日番剧:
今日新闻:
-
This post is deleted! -
@_casual 你说的是什么情况?
-
This post is deleted! -
This post is deleted! -
作者 这jar文件是放在根目录的plugin里面吗 我怎么运行之后就是一屏幕红码
-
作者好!插件正常运行了大概3天之后就出现了插件里生成了图片但无法发送到群里的情况,只有在小窗机器人时才有显示图片,插件没有报错,请问可能是什么原因呢
-
@seldon666 可能是账号被风控了
-
作者可以加一个指定群聊的每日自动发送功能吗!
-
请问一下/help没用是什么原因(大雾)
-
@linhelurking 好像出现了一些bug。
2021-10-25 10:14:31 E/Reporter: kotlinx.serialization.json.internal.JsonDecodingException: Unexpected JSON token at offset 6123: Encountered an unknown key 'delay_id'. Use 'ignoreUnknownKeys = true' in 'Json {}' builder to ignore unknown keys. JSON input: .....f69c64487efad.png","delay":1,"delay_id":400,"delay_index":"第..... kotlinx.serialization.json.internal.JsonDecodingException: Unexpected JSON token at offset 6123: Encountered an unknown key 'delay_id'. Use 'ignoreUnknownKeys = true' in 'Json {}' builder to ignore unknown keys. JSON input: .....f69c64487efad.png","delay":1,"delay_id":400,"delay_index":"第..... at kotlinx.serialization.json.internal.JsonExceptionsKt.JsonDecodingException(JsonExceptions.kt:24) at kotlinx.serialization.json.internal.JsonExceptionsKt.JsonDecodingException(JsonExceptions.kt:32) at kotlinx.serialization.json.internal.JsonLexer.fail(JsonLexer.kt:479) at kotlinx.serialization.json.internal.JsonLexer.failOnUnknownKey(JsonLexer.kt:475) at kotlinx.serialization.json.internal.StreamingJsonDecoder.handleUnknown(StreamingJsonDecoder.kt:154) at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeObjectIndex(StreamingJsonDecoder.kt:143) at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeElementIndex(StreamingJsonDecoder.kt:75) at online.ruin_of_future.reporter.AnimeInfo$$serializer.deserialize(AnimeCrawler.kt:19) at online.ruin_of_future.reporter.AnimeInfo$$serializer.deserialize(AnimeCrawler.kt:19) at kotlinx.serialization.json.internal.PolymorphicKt.decodeSerializableValuePolymorphic(Polymorphic.kt:63) at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableValue(StreamingJsonDecoder.kt:32) at kotlinx.serialization.encoding.AbstractDecoder.decodeSerializableValue(AbstractDecoder.kt:43) at kotlinx.serialization.encoding.AbstractDecoder.decodeSerializableElement(AbstractDecoder.kt:70) at kotlinx.serialization.encoding.CompositeDecoder$DefaultImpls.decodeSerializableElement$default(Decoding.kt:535) at kotlinx.serialization.internal.ListLikeSerializer.readElement(CollectionSerializers.kt:80) at kotlinx.serialization.internal.AbstractCollectionSerializer.readElement$default(CollectionSerializers.kt:51) at kotlinx.serialization.internal.AbstractCollectionSerializer.merge(CollectionSerializers.kt:36) at kotlinx.serialization.internal.AbstractCollectionSerializer.deserialize(CollectionSerializers.kt:43) at kotlinx.serialization.json.internal.PolymorphicKt.decodeSerializableValuePolymorphic(Polymorphic.kt:63) at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableValue(StreamingJsonDecoder.kt:32) at kotlinx.serialization.encoding.AbstractDecoder.decodeSerializableValue(AbstractDecoder.kt:43) at kotlinx.serialization.encoding.AbstractDecoder.decodeSerializableElement(AbstractDecoder.kt:70) at online.ruin_of_future.reporter.ResultByDate$$serializer.deserialize(AnimeCrawler.kt:47) at online.ruin_of_future.reporter.ResultByDate$$serializer.deserialize(AnimeCrawler.kt:47) at kotlinx.serialization.json.internal.PolymorphicKt.decodeSerializableValuePolymorphic(Polymorphic.kt:63) at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableValue(StreamingJsonDecoder.kt:32) at kotlinx.serialization.encoding.AbstractDecoder.decodeSerializableValue(AbstractDecoder.kt:43) at kotlinx.serialization.encoding.AbstractDecoder.decodeSerializableElement(AbstractDecoder.kt:70) at kotlinx.serialization.encoding.CompositeDecoder$DefaultImpls.decodeSerializableElement$default(Decoding.kt:535) at kotlinx.serialization.internal.ListLikeSerializer.readElement(CollectionSerializers.kt:80) at kotlinx.serialization.internal.AbstractCollectionSerializer.readElement$default(CollectionSerializers.kt:51) at kotlinx.serialization.internal.AbstractCollectionSerializer.merge(CollectionSerializers.kt:36) at kotlinx.serialization.internal.AbstractCollectionSerializer.deserialize(CollectionSerializers.kt:43) at kotlinx.serialization.json.internal.PolymorphicKt.decodeSerializableValuePolymorphic(Polymorphic.kt:63) at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableValue(StreamingJsonDecoder.kt:32) at kotlinx.serialization.encoding.AbstractDecoder.decodeSerializableValue(AbstractDecoder.kt:43) at kotlinx.serialization.encoding.AbstractDecoder.decodeSerializableElement(AbstractDecoder.kt:70) at online.ruin_of_future.reporter.TimeLineInfo$$serializer.deserialize(AnimeCrawler.kt:60) at online.ruin_of_future.reporter.TimeLineInfo$$serializer.deserialize(AnimeCrawler.kt:60) at kotlinx.serialization.json.internal.PolymorphicKt.decodeSerializableValuePolymorphic(Polymorphic.kt:63) at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableValue(StreamingJsonDecoder.kt:32) at kotlinx.serialization.json.Json.decodeFromString(Json.kt:95) at online.ruin_of_future.reporter.AnimeCrawler.getData(AnimeCrawler.kt:210) at online.ruin_of_future.reporter.AnimeCrawler.animeByDate(AnimeCrawler.kt:178) at online.ruin_of_future.reporter.AnimeCrawler.animeToday(AnimeCrawler.kt:197) at online.ruin_of_future.reporter.ReporterPlugin$onEnable$sendAnimeToTarget$1.invokeSuspend(App.kt:113) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:33) at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
-
白名单命令是啥,控制台输/help没找到
-
@enderavaritia 谢谢反馈,这个是有番剧停播了,当时写的时候没注意到还有这种情况,目前已经修复了。在 Github 的最新 release 即可找到。
-
@fridayanubis 有这个功能呀,添加到群聊白名单就行了
-
@luis 我不清楚为什么。有可能你没有安装 chat-command 插件导致在聊天中不能运行指令?
-
@greatwo2 help 是可以正常运行的呀。
白名单命令有两类,新闻播报和动画播报是分开的。
/news_group add <target> /news_group 添加 <target> /news_group list /news_group 显示 /news_group 展示 /news_group show /news_group delete <target> /news_group remove <target> /news_group 删除 <target> /news_group 移除 <target> /anime_group add <target> /anime_group 添加 <target> /anime_group list /anime_group 显示 /anime_group 展示 /anime_group show /anime_group delete <target> /anime_group remove <target> /anime_group 删除 <target> /anime_group 移除 <target>
-
作者大大,我这里私聊发/help机器人也没反应,发/news_group list也没有反应。但是私聊每日新闻这些又有回应。
-
@1072324725 我是在控制台里面发的/help,可以实现效果
-
似乎出了点问题。
2021-12-30 10:46:48 V/Bot.385805595: Group(791616042) <- 这是今天的新闻速报 \nq(≧▽≦q) 2021-12-30 10:46:48 V/Bot.385805595: Event: GroupMessagePostSendEvent(target=Group(791616042), message=这是今天的新闻速 报 q(≧▽≦q), exception=null, receipt=net.mamoe.mirai.message.MessageReceipt@2751b398) 2021-12-30 10:46:48 V/Bot.385805595: Event: BeforeImageUploadEvent(target=Group(791616042), source=net.mamoe.mirai.internal.utils.ExternalResourceImplByFile@5e19891b) 2021-12-30 10:46:49 V/Bot.385805595: Event: Succeed(target=Group(791616042), source=net.mamoe.mirai.internal.utils.ExternalResourceImplByFile@5e19891b, image=[mirai:image:{F97E56DB-CF27-9021-1FC3-F859CB1D894C}.png]) 2021-12-30 10:46:49 V/Bot.385805595: Event: GroupMessagePreSendEvent(target=Group(791616042), message=[mirai:image:{F97E56DB-CF27-9021-1FC3-F859CB1D894C}.png]) 2021-12-30 10:46:52 V/Bot.385805595: Group(791616042) <- [mirai:image:{F97E56DB-CF27-9021-1FC3-F859CB1D894C}.png] 2021-12-30 10:46:52 V/Bot.385805595: Event: GroupMessagePostSendEvent(target=Group(791616042), message=[mirai:image:{F97E56DB-CF27-9021-1FC3-F859CB1D894C}.png], exception=null, receipt=net.mamoe.mirai.message.MessageReceipt@3abca2af)
-
这东西怎么下载