Commit Graph

748 Commits

Author SHA1 Message Date
Him188
38465972ba Add more details in QuoteReply.toString 2022-05-25 22:39:53 +01:00
Him188
c75d1f7074 Add MessageSource.isOriginalMessageInitialized 2022-05-25 22:39:53 +01:00
Him188
7687749030 Add more details in MessageSource.toString 2022-05-25 22:39:53 +01:00
Him188
3e38f359ba Add ForwardMessage.BuilderNode.toString 2022-05-25 22:39:53 +01:00
Him188
3b7eb40529 Add implementation notes for MessageSource.originalMessage 2022-05-25 22:39:53 +01:00
Him188
54b3bf405f Add notes for Dice.name 2022-05-25 22:39:53 +01:00
Him188
08d1fc1f38 Add more MessageProtocolTest 2022-05-25 22:39:53 +01:00
Him188
a8c231485c SilentLogger: return false for all isEnabled checks 2022-05-25 22:39:53 +01:00
Him188
0bb86a3b11 Rearrange functions in MessageVisitor to correspond their hierarchy 2022-05-25 22:39:53 +01:00
Him188
0cef98dec0 Fix OfflineAudioFactory configuration 2022-05-25 22:39:53 +01:00
Him188
d6a56f1052 Remove generic type on MessageVisitorUnit 2022-05-25 22:39:53 +01:00
Him188
287769799a Enable kotlin-dynamic-delegation in mirai-core and mirai-core-api 2022-05-25 22:39:53 +01:00
Him188
0c708c8197 Redesign MessageChain hierarchy: Add LinearMessageChainImpl and CombinedMessage 2022-05-25 22:39:53 +01:00
Him188
b40b681f81 Deprecate EmptyMessageChain in favor of emptyMessageChain() 2022-05-25 22:39:53 +01:00
Him188
3955546868 Add MessageVisitor, MessageVisitorEx, Message.accept and Message.acceptChildren as internal API 2022-05-25 22:39:53 +01:00
cssxsh
a1a517c03f
fix: FileMessage.Delegate SerialName (#2041) 2022-05-18 09:07:31 +01:00
Him188
d8ceb7ae5b Fix @since 2022-05-16 19:14:14 +01:00
Him188
4495e36e7c Fix event broadcast directly without checks. Add notes for broadcasting an event. 2022-05-16 19:14:14 +01:00
Him188
2f40d3f432 Deprecate EventDisabled for ERROR 2022-05-16 19:14:14 +01:00
Him188
0c809f4e4c Remove internal EventBroadcast, code cleanup 2022-05-16 19:14:14 +01:00
Him188
497d9ff810 Update docs for Event, EventChannel, and Listener 2022-05-16 19:14:14 +01:00
Him188
c391d3f886 Refine nextEvent and syncFromEvent: handle exceptions correctly 2022-05-16 19:14:14 +01:00
Him188
30dbd1b1c2 Pass exceptions caught in subscriber context to subscriber only 2022-05-16 19:14:14 +01:00
Him188
c192047361 Move event implementations to EventDispatcher and add EventChannel.asFlow. 2022-05-16 19:14:14 +01:00
cssxsh
c6b47a3231
Fix MarketFace contentToString, return '[商城表情]' if original name is empty (#2030) 2022-05-14 11:14:36 +01:00
Karlatemp
cb3bba986c
Fix IMirai initialize; Fix #1861; Fix some error caused by d757764308 2022-05-06 17:47:22 +08:00
Him188
4fa853065c Add BotConfiguration.disableAccountSecretes 2022-05-02 14:01:53 +01:00
Him188
54eb4387e4 Make log4j.Logger.asMiraiLogger and useLog4j2 stable 2022-05-02 11:13:55 +01:00
Karlatemp
c37576fda7
Log exception when failed to initialize java.desktop for better user debugging; Use CLI if in headless mode 2022-04-30 12:49:28 +08:00
Him188
bb8cd86daa Update dependencies:
Kotlin 1.6.21
Dokka 1.6.20
coroutines 1.6.1
atomifFU 0.17.2
serialization 1.3.2
ktor 1.6.7
blocking-bridge 2.0.0-162.1
dynamic-delegation 0.3.0-162.2
2022-04-26 11:12:35 +01:00
Him188
acb048c267 Add errorSince information for deprecation for BotConfiguration.json 2022-04-25 15:50:46 +01:00
Him188
7f85319a92 Deprecate BotConfiguration.json 2022-04-24 15:30:02 +01:00
Him188
1d60cf57b8 Add @since 2.11 for avatarUrl and AvatarSpec (for #1721) 2022-04-24 12:50:33 +01:00
cssxsh
7a9769b618
Add getAvatarUrl(spec: Int) fix (#1557) (#1721)
* Add getAvatarUrl(spec: Int) fix (#1557)

* Add api dump

* Add AvatarSpec

* Add api dump

* fix: docs

* rename: getAvatarUrl
2022-04-24 12:48:18 +01:00
Runze Zhang
cc3d645d4c
Typo fixed (#1978) 2022-04-16 11:16:50 +01:00
Him188
8993de9a13 Review deprecation for 2.11, close #1837 2022-04-13 12:47:21 +01:00
Him188
d1cb05025e Deprecated IMirai.Http for future removal 2022-04-13 12:08:39 +01:00
Him188
2a8f7de23d Throw SendMessageFailedException with new reason AT_ALL_LIMITED, fix #1948 2022-04-02 13:24:30 +01:00
Karlatemp
1688dc9453
Fix typo of ExternalResource 2022-03-22 22:57:30 +08:00
Him188
4c600f9ded Rearrange ExternalResource.toAutoCloseable and update docs for ExternalResource 2022-03-21 13:39:41 +00:00
Him188
57a4b80d55 Update docs for ExternalResource 2022-03-21 13:22:35 +00:00
Him188
91e3ebdd03 Update docs for Image, close #1940 2022-03-21 13:04:24 +00:00
Him188
ab9c2ef2b2 Add Audio.lengthDuration 2022-03-16 15:34:12 +00:00
LaoLittle
827844c5d1
补充Nudge文档: 戳一戳上限 (#1908) 2022-03-05 02:27:00 +00:00
Him188
66bca56e39 Add more detail docs for RoamingMessages 2022-02-12 13:53:23 +00:00
cssxsh
cadb529588
为生成的 IMEI 增加校验位 (#1855)
* feat: luhn

* fix: China Country Code 86

* fix: China Country Code 86

* fix: China Country Code 86
2022-02-12 12:47:19 +00:00
AdoptOSS
4586203c80 improve(logger/log4j): use reusable message for better performance 2022-02-12 12:36:41 +00:00
Him188
1012c6fbf6 Add createAutoCloseable back, close #1856 (caused by #1742 (PR #1774)) 2022-01-31 15:15:14 +00:00
Him188
701039ee48
弃用无 receiver 的事件扩展函数, 增加其 EventChannel receiver 版本替换 (#1754)
* Deprecate no-receiver functions `nextEvent*`, `syncFromEvent*`, `asyncFromEvent*`. Add their `EventChannel`-receiver counterparts. #1827

* Fix migration

* Migrate `nextMessage` to new API
2022-01-20 10:15:10 +00:00
Him188
747bc05591 Update apiDump for previous commit 2d26f94769 (Move AbstractImage, FriendImage, GroupImage from mirai-core-api to mirai-core) 2022-01-14 19:34:04 +00:00
Him188
2d26f94769 Move AbstractImage, FriendImage, GroupImage from mirai-core-api to mirai-core, close #1670 2022-01-14 19:02:38 +00:00
Him188
7d3971259d
Review deprecation for 2.10. close #1742 (#1774) 2022-01-14 18:26:44 +00:00
Him188
1ab48748ab Fix project structure for Dokka
Co-authored-by: 微莹·纤绫 <karlatemp@vip.qq.com>
2022-01-06 20:26:52 +00:00
Him188
3d864362aa Generalize binary validator 2022-01-06 20:26:52 +00:00
Him188
2a036d7bb3 Simplify buildscript: remove redundant comments 2022-01-06 04:46:58 +00:00
LaoLittle
0c964f3144
允许使用 IPAD 协议发送戳一戳 (#1711)
* 修改注释

* IPAD协议发送戳一戳时不抛出UnsupportedOperationException

* 修改注释

“安卓协议”的描述并不准确,ANDROID_PAD 也是安卓协议,但是完全不支持戳一戳
修改进行明确

* Apply suggestions from code review

* Update Nudge.kt

Co-authored-by: Initial-heart <63091661+Initial-heart-1@users.noreply.github.com>
Co-authored-by: Him188 <Him188@mamoe.net>
2022-01-06 01:16:42 +00:00
Him188
1819374b9a Use SimpleMessage for Log4J2 for security, close #1729 2021-12-30 14:34:25 +00:00
Him188
1cd354a7e3 Add @ResolveContext for usages of abstract message keys, implement relevant inspections, close #1363 2021-12-27 13:07:17 +00:00
Him188
6103628801 Remove __broadcastJava 2021-12-23 01:37:11 +00:00
Him188
7faf630454 Update kotlin-jvm-blocking-bridge to 2.0.0-160.2 2021-12-23 01:37:11 +00:00
Him188
9d3c7315cb Remove @ExperimentalTime on BotConfiguration 2021-12-23 01:37:11 +00:00
Him188
46865721b0 Use new Duration methods 2021-12-23 01:37:11 +00:00
Him188
26c099798b
Deprecate experimental EventChannel.asChannel and add EventChannel.forwardToChannel (#1753)
* Deprecate experimental `EventChannel.asChannel` and add `EventChannel.forwardToChannel`

* Remove redundant opt-ins
2021-12-22 19:02:11 +00:00
StarWishsama
53883e885c
修复设置 redirectNetworkLogToDirectory 后日志 identity 为 Bot 的问题 fix #1743 (#1751) 2021-12-21 22:57:46 +00:00
Him188
575225874c Explicitly add dependency on kotlinx-coroutines-core-jvm to help IDE analysis 2021-12-21 18:09:12 +00:00
Him188
bc1cce313f
Support AbsoluteFolder.resolveFolderById (#1712)
* Support `AbsoluteFolder.resolveFolderById`

* resolveFolderById: Always return null when receiver is not root and id is not root
2021-12-06 15:23:27 +00:00
微莹·纤绫
d10d20302e
Dokka (#1708)
* dokka

* test

* Fix classpath

* Fix deploy

* Fix deploy

* Fix deploy

* GitHub workflows
2021-12-04 15:43:09 +00:00
Him188
74fc5a5037 Throw specific SendMessageFailedException when reaching group chat limit, close #1220 2021-11-30 13:06:01 +00:00
Him188
a989ea9db1 Add SendMessageFailedException, change supertypes of MessageTooLargeException and BotIsBeingMutedException to the new exception 2021-11-30 13:06:01 +00:00
Him188
8b99cc45fb Implement multi versioned DeviceInfo, implement DeviceInfo v2 which stores properties as String and hex strings instead of ByteArrays. 2021-11-29 14:33:20 +00:00
Him188
d5d0b35806 Add DeviceInfo.random(Random) and implement equals and hashCode for DeviceInfo 2021-11-29 14:33:20 +00:00
Him188
25970cbf56 minor: move NormalMember.kick overloads from mirai-core to mirai-core-api 2021-11-26 17:59:07 +00:00
Him188
7c550bff7d
Add Image.Factory and Image.Builder for constructing Image inst… (#1673)
* Add `Image.Factory` and `Image.Builder` for constructing `Image` instances with specific properties. close #1672

* Remove redundant `create`s

* Add docs for `Image.Builder`

* Remove Image.Factory, use Image.Builder in all places.

* Fix cache & parameters

Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
2021-11-20 23:36:14 +00:00
Him188
bd041e43d1
Support Image.isUploaded, (#1671)
* Support `Image.isUploaded`,
add member `Image.md5`,
add `Image.calculateImageMd5ByImageId`,
close #1401

* Update docs
2021-11-16 10:50:17 +00:00
Karlatemp
456903628e
Make MessageChain truly read-only; fix #1676 2021-11-15 23:22:52 +08:00
Karlatemp
4db04e2a76
Fix group detection; fix #1661 2021-11-12 21:35:41 +08:00
Him188
92ab2bf50b Add @since to Image.width etc 2021-11-10 22:49:42 +00:00
Karlatemp
31399efe40
AbstractExternalResource (#1637)
* AbstractExternalResource

* typo

* make `ResourceCleanCallback` `fun interface`

* custom display name

* update logic

* Update docs

* Update ExternalResource.kt
2021-11-10 14:39:32 +00:00
Him188
ef2d22c956 Ensure thread safe 2021-11-09 22:53:57 +00:00
Him188
7da6a50284 Use system-default locale for logging 2021-11-09 22:53:57 +00:00
Karlatemp
fa364b4b45
Reject sending FileMessage (#1657)
* Reject sending `FileMessage`

* Update docs

* Update mirai-core-api/src/commonMain/kotlin/contact/file/AbsoluteFile.kt

Co-authored-by: Him188 <Him188@mamoe.net>

Co-authored-by: Him188 <Him188@mamoe.net>
2021-11-07 10:55:02 +00:00
Karlatemp
c56708ca7f
Fix environment check 2021-11-06 23:11:26 +08:00
Him188
99f461ae00 Update docs for AudioSupported.uploadAudio: add ref to mirai-silk-converter 2021-11-06 15:00:51 +00:00
Him188
e3dcaf6654 Remove use of deprecated MiraiLogger.TopLevel 2021-11-06 14:44:58 +00:00
Him188
bb9c9d7aa4 Remove use of deprecated RemoteFile 2021-11-06 14:36:35 +00:00
Him188
9e151e7026
Redesign group files (#1589)
* Prototype new `RemoteFiles` design

* add `@JavaFriendlyAPI`

* remove `quietly`

* move `moveTo` to `AbsoluteFile`

* Add java friendly apis

* Remove `condoneMissing`

* Change `renameTo`

* Extract interface declarations

* update docs

* Add `AbsoluteFileFolder.exists`

* Add common ProgressionCallback

* Implement `RemoteFiles` and relevant `Absolute*`

* Implement `refresh` and `refreshed`

* Update docs

* Forbid blank paths

* Update docs

* Deprecate `RemoteFile` and implement `FileMessage.toAbsoluteFile`

* Change corresponding properties on operations

* Deprecate more old declarations

* Update docs

* Add check for permission

* Allow relative paths and fix upload

* fix absolutePath

* doc update

* api dump

* `Result<R>.onSuccessCatching`

* return null when file not exists

* Fix file uploading

* Fix folder.absolutePath

* add `resolveFileById`

* Implement toString

* Add `nameWithoutExtension` and `extension`

* Add `deep` to resolveFileById

* Implement permission check

* Remove notes

* Fix `resolveFileById`

* Fix `extension`

* add docs

* Improve docs

Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
2021-10-30 16:05:57 +01:00
Him188
767475f9ab Deprecate IMirai.calculateGroupUinByGroupCode, and migrate usages to getUin. Close #1479 2021-10-30 13:44:49 +01:00
Karlatemp
e61fbbcc70
Fix getRawGroupHonorListData, getRawGroupActiveData (#1616) 2021-10-28 13:44:00 +01:00
Karlatemp
07d5a6ca7d
Chain calling of ExternalResource.toExternalResource(); fix #1588 2021-10-09 21:49:49 +08:00
Karlatemp
b31f7b1ba7
AudioToSilkService (#1591)
* AudioToSilkService

* Update mirai-core-api/src/commonMain/kotlin/utils/ExternalResource.kt

Co-authored-by: Eritque arcus <1930893235@qq.com>

* `@since`; `@Experimental`

Co-authored-by: Eritque arcus <1930893235@qq.com>
2021-10-09 09:21:58 +01:00
Karlatemp
0b2a759028
Image.isEmoji() (#1596)
- Also remove image regex inlining
2021-10-05 22:01:14 +08:00
lliiooll
d3425a7566
Add mac and ipad protocol from miraiGo (#1523)
* add mac and ipad protocol

* Update BotConfiguration.kt

* Update MiraiProtocolInternal.kt

* api

* Update mirai-core-api/src/commonMain/kotlin/utils/BotConfiguration.kt

Co-authored-by: Him188 <Him188@mamoe.net>
2021-10-01 22:38:04 +01:00
Him188
ceeb4d7b5f Make JavaFriendlyAPI public 2021-10-01 16:15:22 +01:00
sandtechnology
00ecf86094
Clarify specialTitle docs and support to detect specialTitle changes (#1531) 2021-09-27 15:39:11 +01:00
sandtechnology
c09f8ab192
Support for switching anonymousChat settings (#1522)
* Support for switching anonymousChat settings

* apiDump

* Applied suggestion from him188
2021-09-27 15:39:01 +01:00
Him188
ef301cc6e5
支持获取消息记录 (漫游消息) (#1520)
* Support roaming messages for friend

* Remove `RoamingMessage.getMessage`

* Remove `RoamingAuthenticator`

* Mark `@JavaFriendlyAPI`

* apiDump

Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
2021-09-18 19:37:13 +08:00
sandtechnology
4ce57f52a8
Add height, width, size and imageType attribute to Image class (#1548)
* Add height, width, size and imageType attribute to Image class
Close #1543 #1204 #1032

* Let ImageType enum code before the `Internals`, Also add @JvmStatic and OrNull version for match method

* Use runBIO and throws annotation for getImageInfo

* Add .kt suffix for MPP imagesImpl

* Return empty imageInfo for unsupported images

* Fix wrong file name

* apiDump

* Renaming MPP file instead of adding JvmName annotation

* Optimize readability and only use BIO at call-site

* Fix bug for detecting image type

* Detecting javax module for java 9+

* Clean up

* Disable some image types which not supported

* Use cross platform code to read images, readd support for apng

* Fix bug in reading image

* apiDump

* Fix bug in image reading and write unite test

* Fix wording

* Remove webp support and throws IllegalArgumentException for unsupported format

* Remove WEBP enum type

* Add unit test for unsupported image and correct comments

* Fix buffer input stream error when reading images

* Applying suggestions and fix jpg reading

* Add complete SOF decoding for jpg and clean up

* Caching jpg sof byte ranges

* Save `values()` as IMAGE_TYPE_ENUM_LIST for preventing clone operation

* Remove duplicated it
2021-09-16 04:38:59 +08:00
Him188
75d0b66121 Disable EventLaunchUndispatchedTest 2021-09-12 22:52:27 +08:00
Him188
63fc45edd6 Try fix EventLaunchUndispatchedTest 2021-09-12 22:39:44 +08:00
Him188
062b8766a2 Raise deprecation levels:
- RichMessageOrigin
- SingleMessage.Serializer
- ForceOfflineException
- MessageSubscribersBuilder.sentByTemp
- subscribeTempMessages
- TempMessageSubscribersBuilder
- TempMessageEvent
- TempMessagePostSendEvent
- TempMessagePreSendEvent

close #1296
2021-09-12 20:57:04 +08:00