Commit Graph

772 Commits

Author SHA1 Message Date
Him188
f96c156d82
[core] Implement ConstrainSingle for Audio (fix #2093) 2022-08-12 09:14:16 +08:00
cssxsh
9db5d2c4b5 Add client properties to MessageSyncEvents, add OtherClientCommandSenderOnMessageSync and MessageSyncEvent.toCommandSender 2022-08-03 11:27:39 +08:00
cssxsh
c38740ce2f
在 Image 序列化时支持全部属性 (#2036)
* fix: Image Serializer Delegate

* use: api dump

* add: test Image serialization

* fix: type (SerialName) and deserialize

* fix: native test
2022-07-22 03:05:08 +08:00
Him188
e5cad1d0ba
Rewrite MessageSerializers for new project structure (#2159) 2022-07-20 15:09:09 +08:00
Him188
fd67ba9204 Configure shadow relocation and add checks for multiplatform publishing 2022-07-20 00:30:16 +08:00
AdoptOSS
7325c1f7e2 native: 优化 build script 及 actions,修复 ECDH 相关资源释放问题 (#2110)
* build: fix build on Windows

* test: fix ContentEqualsTest on native

* build: allow disabling targets with property

* fix: free ECDH-related resources properly on native
avoid memory leaking (usually on *nix) or crash (usually on Windows)

Signed-off-by: AdoptOSS <adoptoss@outlook.com>

* build(workflow): remove invalid options

* fix(styling): `mirai.target` property

* build(workflow): try to limit memory usage during mirai-console:tools:gradle-plugin:integTest

* enhance(test): use buildList

* build(workflow): retry

Co-authored-by: ArcticLampyrid <arcticlampyrid@outlook.com>
2022-07-20 00:30:16 +08:00
Him188
21c4a5ba04 Use kotlinx-coroutines-test 2022-07-20 00:30:16 +08:00
Him188
cca40b8aa3 Add dummy jvmBase target for IDE 2022-07-20 00:30:16 +08:00
Him188
7dbb1a5ad7 Add RunConfigurations 2022-07-20 00:30:16 +08:00
Him188
4230a6e84c Remove MiraiLogger.subLogger in mirai-core-api to overcome declaration clash on native 2022-07-20 00:30:16 +08:00
Him188
fe0a4de368 Produce shared libraries and static libraries 2022-07-20 00:30:16 +08:00
Him188
4c6b879873 Upgrade to Ktor 2.0.2, use CIO engine for linux targets; Remove ktor-client-okhttp from mirai-core-api jvmBaseMain
Use Input.readAllText instead of Input.readText, because readText only reads one buffer.
#2084
2022-07-20 00:30:16 +08:00
Him188
d27228c8c8 Rewrite MessageSerializers, register serializers in each MessageProtocol, implement for native targets 2022-07-20 00:30:16 +08:00
Him188
13dadd5a95 Implement mirai-core for native 2022-07-20 00:30:16 +08:00
Him188
732e61e37d Ensure for all MessageChain subclasses, equals, hashCode give consistent results. 2022-07-20 00:30:16 +08:00
Him188
7088835402 HMPP 2022-07-20 00:30:16 +08:00
Him188
ff2a8acb0c Implement multiplatform modules 2022-07-20 00:30:16 +08:00
Him188
ce87400998 Use ktor-io to replace kotlinx-io 2022-07-20 00:30:16 +08:00
Him188
0571be1a55 Commonize projects: mirai-core series, and mirai-console-compiler-annotations 2022-07-20 00:30:16 +08:00
Him188
d96641dedb Configure HMPP project structure 2022-07-20 00:30:16 +08:00
Him188
a4e7fda416
Raise deprecation level for 2.12 2022-06-14 11:19:44 +01:00
Him188
1a2241b8b2
Add Java-friendly EventChannel.exceptionHandler API, close #1953 2022-06-08 21:42:20 +01:00
Him188
bcaf9b5060
Fix warningSince for deprecation of GroupEntranceAnnouncementChangeEvent 2022-06-08 21:40:42 +01:00
Him188
67984bfbad
Deprecate GroupEntranceAnnouncementChangeEvent, as per #1873 2022-06-08 21:31:50 +01:00
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