Commit Graph

128 Commits

Author SHA1 Message Date
Him188
76e2b6c64c Redesign packet recording 2021-09-01 13:55:39 +08:00
Him188
8d8aca3f1c Introduce Audio for new API, revert changes on Voice 2021-08-05 21:48:20 +08:00
Him188
dd606c3022 Improve performance of hexToBytes and simplify similar extensions 2021-07-07 15:00:28 +08:00
Him188
8647d38b34 Add MessageReceiptTest for #1371 2021-07-02 21:06:31 +08:00
Him188
a59d7208cb Add getMiraiImpl to replace direct calls of MiraiImpl.INSTANCE 2021-07-02 21:06:31 +08:00
Karlatemp
a4b62b0909
Voice serialization (#1368)
* Voice serialization

* Implement `hashCode` and `equals` for `Voice`

* Update test

* Update test

* Add note of `PttMessage.pttInternalInstance`

* Fix logic of `Voice.equals`
2021-07-02 12:10:20 +08:00
Him188
c37457cafb Cleanup and move local serializable classes to top-level 2021-06-19 18:28:21 +08:00
Him188
c93d6aa608 Add ForwardRefineTest 2021-05-30 22:51:26 +08:00
Him188
301deadbd1 Add test for #1273 2021-05-30 21:16:43 +08:00
Him188
b91bbfd2b8 Add NetworkHandlerFactory and tests for NetworkHandler 2021-05-09 00:54:48 +08:00
Him188
57eb716e31
Add inline BotFactory.newBot for Kotlin DSL. fix #1233 (#1234) 2021-05-02 13:51:32 +08:00
Him188
5dcccd1402 Introduce base class for tests AbstractTest 2021-04-20 12:47:57 +08:00
Karlatemp
28a8b8303a
Support receive nested ForwardMessages (#1196)
* Support receive nested ForwardMessages

* Tests
2021-04-17 16:09:32 +08:00
Karlatemp
0c93aeb425
Add RefineContext for refining (#1195)
* Add RefineContext for refining

* Add RefineContext argument

* Fix build
2021-04-17 11:45:02 +08:00
Him188
7feeaee1ca
Refining Messages without suspension (#1167)
* Introduce `RefinableMessage.tryRefine` to refine without suspension.

* Extract `RefinableMessage` to separate file

* Always use `Bot` on `List<MsgComm.Msg>.toMessageChain`

* Introduce `MessageRefiner` and ensure MessageChain refined after transformation. Fix #1156, fix #1157

* Add basic tests

* Refine forward message contents

* Refine long message contents

* Move refinement from message internals to MiraiImpl public APIs

* Comment out unused `toMessageChainOffline`

* refinement tests part

* refinement tests part

* Full tests and minor internal improv.s

* Fix tests

* Fix compile
2021-04-08 11:59:16 +08:00
Him188
7521e6d17f
Rename RichMessageOrigin to MessageOrigin (#1116)
* Rename `RichMessageOrigin` to `MessageOrigin`

* apiDump

* Change `MessageOrigin.origin` parameter type from `RichMessage` to `SingleMessage`;
Rename `RichMessageKind` to `MessageOriginKind`

* Make MessageOriginKind serializable and update docs

* Ensure binary compatibility with <2.6 and provide migration helpers

* apiDump
2021-04-04 00:31:33 +08:00
Him188
430c2c59ad
Support UnsupportedMessage (#1112)
* Support UnsupportedMessage

* Fix serialize

* `UnsupportedMessage.contentToString`: use `struct.contentHashCode()`

Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
2021-03-26 23:54:17 +08:00
Him188
af58c163d2 - Add FileMessage.internalId hence support serialization
- Add FileMessage.Serializer
- Add FileMessage.create and IMirai.createFileMessage to construct manually
- Mark FileMessage as stable
- Move TestMiraiCode from mirai-core-api to mirai-core

fix #1082
2021-03-20 15:33:08 +08:00
Him188
4ac7d3fa9a
Support Dice (#1018)
* Add Dice public API #1012, close #1017

* Extract MarketFaceImpl to separate file

* Dice protocol impl #1012

* Dice refinement

* Add serialization support for Dice

* Add mirai code support for Dice

* Update docs/Messages.md

Co-authored-by: Karlatemp <karlatemp@vip.qq.com>

* Update mirai-core-api/src/commonMain/kotlin/message/data/Dice.kt

Co-authored-by: Karlatemp <karlatemp@vip.qq.com>

* Add dice mirai code test

Co-authored-by: sandtechnology <a1294790523@hotmail.com>
Co-authored-by: lc6a <1952511149@qq.com>
Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
2021-02-13 11:34:23 +08:00
Him188
13faff5471 Add serialization support for ShowImageFlag 2021-02-05 22:34:08 +08:00
Him188
b9e5c15bdb Add polymorphic serialization tests 2021-02-03 10:39:36 +08:00
Him188
8da048af63 Serialization support for MusicShare;
Rename MusicShare.type to kind;
Rename MusicType to MusicKind;
2021-01-24 00:39:05 +08:00
Him188
668398c597 Fix build 2021-01-07 21:11:30 +08:00
Him188
41a34bdf65 [Review] Extract MessageSerializersImpl to separate file 2021-01-06 15:55:26 +08:00
Him188
1f0d8363f6 Cover all message types in tests 2021-01-06 14:45:00 +08:00
Him188
1fc7698b9b Fix MessageSerializationTest.kt 2021-01-06 14:42:04 +08:00
Him188
ebc7d655e3 Message serialization, fix #767 2021-01-06 13:14:57 +08:00
Him188
c9cc29d1d4 Fix JavaApiTest 2020-12-31 21:00:49 +08:00
Him188
fc72811e2a Hide Message serializers and postpone implementations later 2020-12-28 14:20:51 +08:00
Him188
16e4bde07e Stable MessageKey 2020-12-27 23:04:16 +08:00
Him188
392d62142b Fix tests 2020-12-27 20:36:11 +08:00
Him188
ec6e23d450 Introduce EventChannel.registerListenerHost and deprecate ListenerHost.registerEvents 2020-12-27 15:57:27 +08:00
Him188
ac95ef4472 Move EventChannel kotlin function reference extensions to separate file 2020-12-27 15:05:30 +08:00
Him188
7df0c96004 Add Java friendly functional event subscribers to EventChannel 2020-12-27 14:47:09 +08:00
Him188
eacdfed97a Fix serialization 2020-12-26 23:42:44 +08:00
Karlatemp
471e70205e
Covert SimpleListenerHostTest to kotlin 2020-12-26 16:43:10 +08:00
Him188
07fc0cbf0a Migrate deprecated calls 2020-12-14 20:31:27 +08:00
Him188
f59fcf7d5d Message serialization 2020-12-11 15:52:10 +08:00
Him188
7d5063653a Polymorphic message key, #693 2020-12-10 12:36:17 +08:00
Him188
360df3e011 Fix Message.contentEquals: compare only contents regardless of classes. 2020-12-05 16:28:29 +08:00
Him188
f6e9f306d4 Redesign Message.Key. #693.
- `ConstrainSingle` now extends a more general type `SingleMessage` instead of `MessageMetadata` for extendability
- `Message.Key` moved to `ConstrainSingle.Key`
- Delete `companion object Key`s from duplicable messages
2020-12-05 12:57:34 +08:00
Him188
64b5251779 Move service to common resources 2020-11-22 14:33:18 +08:00
Him188
7c2f2bb870 Rename Mirai to IMirai, introduce top-level property Mirai to hold lazy instance. Fix build. 2020-11-07 12:21:03 +08:00
Him188
1e7aaaec48 Rearrange protocol implementations 2020-11-01 15:07:32 +08:00
Him188
0d96ea53d0 Fix build 2020-10-03 13:44:19 +08:00
Him188
a9d4d14576 Rearrange module structure:
- Rename mirai-core to mirai-core-api
- Rename mirai-core-qqandroid to mirai-core
- Rename package net.mamoe.mirai.qqandroid to net.mamoe.mirai.internal
- Delete old android targets
- Configure default packages correctly
- Update licenses
2020-10-03 12:42:13 +08:00
Him188
bd4dcec68e Fix copyright 2020-08-23 19:57:09 +08:00
Him188
e56e4ec1db Fix LockFreeLinkedList.isEmpty, also fixes ContactList.isEmpty 2020-08-22 01:28:55 +08:00
Him188
2d83b69d06 Update copyright 2020-08-16 01:31:14 +08:00
Him188
9ebfef2dd8 Add tests for #436 2020-07-16 22:24:14 +08:00