Commit Graph

309 Commits

Author SHA1 Message Date
Him188
faece77942 [Review] Rearrange utilities 2021-01-06 16:09:44 +08:00
Him188
41a34bdf65 [Review] Extract MessageSerializersImpl to separate file 2021-01-06 15:55:26 +08:00
Him188
9e631111d4 [Review] Message serialization: ignoreUnknownKeys by default 2021-01-06 15:45:10 +08:00
Him188
3b7be90a84 [Review] Move File.loadAsDeviceInfo to DeviceInfo companion 2021-01-06 15:26:35 +08:00
Him188
a511bfc3b4 [Review] Rename subscriber.kt to Listener.kt 2021-01-06 15:25:50 +08:00
Him188
3d5159f9e5 [Review] Rename linear.kt to syncFromEvent.kt 2021-01-06 15:25:36 +08:00
Him188
3da76125a6 [Review] Stable Stranger.nudge 2021-01-06 15:17:14 +08:00
Him188
1783a69be2 [Review] Remove LockFreeLinkedList 2021-01-06 15:16:47 +08:00
Him188
24fdf056c2 [Review] Move LazyProperty to Annotations.kt 2021-01-06 15:14:00 +08:00
Him188
382d3d08d4 [Review] Move WeakRef to mirai-core-utils 2021-01-06 15:13:15 +08:00
Him188
3c0bc21816 [Review] Remove Channels.kt 2021-01-06 15:09:21 +08:00
Him188
1059ab44bc [Review] Rename lowLevelApi.kt to LowLevelApiAccessor.kt 2021-01-06 15:04:24 +08:00
Him188
5b74f2a64e [Review] Move JavaFriendlyApi to Annotations.kt 2021-01-06 15:02:49 +08:00
Him188
58c2a2edb8 Add Message.plus(Array<out Message> 2021-01-06 15:00:05 +08:00
Him188
1215a56775 [Review] LowLevelApiAccessor:
- Rename method names, remove "_lowLevel"
- Add blocking bridges
2021-01-06 14:58:06 +08:00
Him188
bca15cd09f Fix RichMessage.key generics 2021-01-06 14:38:09 +08:00
Him188
cab8e2f674 Implement ConstrainSingle for ForwardMessage 2021-01-06 14:37:52 +08:00
Him188
ebc7d655e3 Message serialization, fix #767 2021-01-06 13:14:57 +08:00
Him188
bfd21cbb92 Make properties in MessageKey with @JvmField to allow @JvmField in inherited classes 2021-01-06 08:13:22 +08:00
Him188
1d24a810fe Unify image id 2021-01-05 23:28:34 +08:00
Him188
54add6df78 Add BotConfiguration.workingDir 2021-01-05 21:04:04 +08:00
Him188
767eb75d4e Move Http client from MiraiPlatformUtils to IMirai.Http
Delete MiraiPlatformUtils

Add timeout configuration for ktor HttpClient, fix #673
2021-01-05 20:43:04 +08:00
Him188
d99fc810f9 Improve docs 2021-01-05 20:35:23 +08:00
Him188
d5cdd9e161 Improve file type detecting 2021-01-05 20:35:10 +08:00
Him188
f6faf19ad8 Improve docs 2021-01-05 20:29:24 +08:00
Him188
95e6ca4c7a Add BotOfflineEvent.reconnect, support auto-reconnect control.
AbstractBot.offlineListener is now MONITOR
2021-01-05 20:23:00 +08:00
sandtechnology
7d43ab20f8
Syncing when joined group by other client & Add missed invitor in invite event (#804)
* Introduce UserInfo and change uin to id

* Stranger api: List and asStranger

* Stranger api: Events

* Stranger api: MessageDSL and MessageSource

* Update docs

* Improve LoginSolver

fix project-mirai/mirai-login-solver-selenium#4

* Improve SeleniumLoginSolver loading

* Fix MessageChain.fragmented

* 2.0-M2-1

* Stranger api change: StrangerRelationChangeEvent

* Stranger impl: list and asStranger

* Stranger impl: get stranger list and del stranger protocol

* Stranger impl: add stranger protocol

* Stranger impl: MessageSource refactor and sending&receiving message

* Stranger impl: Dropping long message support (server rejected)

* Stranger impl: sending stranger message when member is stranger

* Fix wrong key

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

* Add @LowLevelApi

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

* Remove redundant val modifier

* Replace nudge if statement to when statement

* Move list seq to QQAndroidClient

* Replace id with uin in UserInfo and fix build error

* Using by lazy in asStranger

* Fix wrong wordings

* Fix wrong wordings in uploading image

* Fix nudge

* Fix #478, sync other client join group

* Change to NormalMember and update toString method

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

* Launch on bot network scope

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

* Fix TarsDecoder

fix #762

* Fix TarsInput.skipField

Co-authored-by: Him188 <Him188@mamoe.net>
Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
2021-01-05 17:27:40 +08:00
sandtechnology
1117c14c7d
Support Stranger & Fix #664 (#795)
* Introduce UserInfo and change uin to id

* Stranger api: List and asStranger

* Stranger api: Events

* Stranger api: MessageDSL and MessageSource

* Update docs

* Improve LoginSolver

fix project-mirai/mirai-login-solver-selenium#4

* Improve SeleniumLoginSolver loading

* Fix MessageChain.fragmented

* 2.0-M2-1

* Stranger api change: StrangerRelationChangeEvent

* Stranger impl: list and asStranger

* Stranger impl: get stranger list and del stranger protocol

* Stranger impl: add stranger protocol

* Stranger impl: MessageSource refactor and sending&receiving message

* Stranger impl: Dropping long message support (server rejected)

* Stranger impl: sending stranger message when member is stranger

* Fix wrong key

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

* Add @LowLevelApi

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

* Remove redundant val modifier

* Replace nudge if statement to when statement

* Move list seq to QQAndroidClient

* Replace id with uin in UserInfo and fix build error

* Using by lazy in asStranger

* Fix wrong wordings

* Fix wrong wordings in uploading image

* Fix nudge

Co-authored-by: Him188 <Him188@mamoe.net>
Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
2021-01-01 21:39:45 +08:00
Him188
b482590ce1 Remove redundant checks 2021-01-01 16:15:55 +08:00
Him188
9c6780d5c4 Use DEFAULT_FORMAT_NAME 2021-01-01 16:15:35 +08:00
Him188
fc2df4b9ad Add implementation notes 2021-01-01 16:15:00 +08:00
Him188
fb8c17c6dc Add formatName parameters to uploadImage and sendImage extensions, improve docs 2021-01-01 16:09:29 +08:00
Him188
68729cdcba Fix: Add parentScope for (ListenerHost&CoroutineScope).registerTo 2020-12-31 23:28:21 +08:00
Him188
1da229ac22 Update docs 2020-12-31 18:51:36 +08:00
Him188
3bfbf91589 Implement ForwardMessage.contentToString (returns "[转发消息]"), fix #781 2020-12-31 17:41:51 +08:00
Him188
c82eb29769 MarketFace should not implement CodableMessage 2020-12-31 17:33:31 +08:00
Him188
59b4bdfa8d Add @MiraiExperimentalApi to Voice properties 2020-12-31 17:22:13 +08:00
Karlatemp
c966d9840e
Fix Bot.getFriend 2020-12-30 23:23:33 +08:00
Him188
d33420c33d
Delete README.md 2020-12-30 22:54:00 +08:00
Him188
2fcaaa9e60 Merge remote-tracking branch 'origin/dev' into dev 2020-12-30 19:42:46 +08:00
Him188
5049836eaa Fix baseKeys of OnlineMessageSource.Outgoing and OnlineMessageSource.Incoming 2020-12-30 19:37:32 +08:00
Him188
8732cc1fc4 Bot.getFriend now returns Bot.asFriend if id == bot.id 2020-12-30 19:34:57 +08:00
Karlatemp
9ba4a99cb1
Improve SeleniumLoginSolver loading 2020-12-30 18:24:45 +08:00
Karlatemp
e9e9a12137
Improve LoginSolver
fix project-mirai/mirai-login-solver-selenium#4
2020-12-30 18:22:57 +08:00
Him188
d33948ac14 Review nudge, stabilize nudge API. 2020-12-28 19:23:35 +08:00
Him188
084e18c204 Update docs 2020-12-28 19:20:49 +08:00
Him188
8ae8bdee64 Add Missing @MiraiInternalApi to ClientKind.get 2020-12-28 19:16:29 +08:00
Him188
31a8932070 Fix voice upload 2020-12-28 15:10:47 +08:00
Him188
dfad8572ee Use OkHttp client than CIO 2020-12-28 15:10:32 +08:00
Him188
fc72811e2a Hide Message serializers and postpone implementations later 2020-12-28 14:20:51 +08:00
sandtechnology
ca5835e058
Support delete friend (#776)
* Support delete friend

* Improvement Member delete

* Add @JvmBlockingBridge

* Revert changes in GetFriendListReq

* Fix build error

* Apply suggestions, check if friend still exist before executing

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

* Just let delete function existed in Friend

* Delete missed delete function

* Revert kick function return value to unit

* Let delete function throwing exception instead of returning boolean

* Update doc

* Revert missed kick function change

Co-authored-by: Him188 <Him188@mamoe.net>
2020-12-28 00:36:34 +08:00
sandtechnology
2b1fe9f27a
Support Group Honor (Talkative Only) (#774)
* Support Group Honor (Talkative Only)

* Apply suggestions from code review

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

* Replace Member with NormalMember

Co-authored-by: Him188 <Him188@mamoe.net>
2020-12-28 00:34:55 +08:00
Him188
b0b6c20258 Move internal declarations to internal package 2020-12-27 23:54:47 +08:00
Him188
8f4d51ca36 Improve docs 2020-12-27 23:52:29 +08:00
Him188
9c1c0be84d Merge remote-tracking branch 'origin/dev' into dev 2020-12-27 23:51:14 +08:00
Him188
b40b2232e6 Move MessageReceipt static functions to member ones 2020-12-27 23:50:54 +08:00
Karlatemp
dcf95c48f8
Fix doc 2020-12-27 23:44:27 +08:00
Him188
f12ee89d08 Improve docs 2020-12-27 23:37:30 +08:00
Him188
42f824d516 Integrate Voice APIs with ExternalResource 2020-12-27 23:31:04 +08:00
Him188
1db66c49d0 Fix LoginSolver.isSliderCaptchaSupported, improve docs 2020-12-27 23:18:20 +08:00
Him188
16e4bde07e Stable MessageKey 2020-12-27 23:04:16 +08:00
Him188
b2f0424418 Remove deprecated APIs 2020-12-27 22:47:31 +08:00
Him188
6dc64cac35 Deprecate MessageEventExtensions, close #459 2020-12-27 22:30:43 +08:00
Him188
392d62142b Fix tests 2020-12-27 20:36:11 +08:00
Him188
0406a6dc1b Move external resource extensions to their correct companions 2020-12-27 20:34:35 +08:00
Him188
fc3d880e19 Move Contact.sendImage from ExternalResource to Contact 2020-12-27 20:19:04 +08:00
Him188
ec6e23d450 Introduce EventChannel.registerListenerHost and deprecate ListenerHost.registerEvents 2020-12-27 15:57:27 +08:00
Him188
de4bbafbd4 Unified FriendInfoImpl and MemberInfoImpl 2020-12-27 15:28:54 +08:00
Him188
83781b7cda Remove unnecessary UnsafeVariance on Bot.eventChannel 2020-12-27 15:08:24 +08:00
Him188
5b534af4fe Extract GlobalEventChannel to separate file 2020-12-27 15:07:41 +08:00
Him188
ec75734763 Extract ExceptionInEventChannelFilterException to separate file 2020-12-27 15:06:21 +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
ff5db553de Add configuration dsl to BotFactory member functions for Java users 2020-12-27 14:24:01 +08:00
Him188
eacdfed97a Fix serialization 2020-12-26 23:42:44 +08:00
Him188
5196cc410a Bot.otherClients now does not include self, close #770 2020-12-26 22:22:06 +08:00
Him188
822c3049c2 Fix package 2020-12-26 22:16:27 +08:00
Him188
bfda72e58f
ExternalResource (#754)
* ExternalResource fundamentals:
- Introduce ExternalResource
- Migrate functions
- Move utilities to mirai-core-utils

* Fix build

* Fix filename and misc improvements

* Close file on ExternalResource.close;
Reset filePointer to 0 on stream close

* Rearrange image extensions

* Fix tests

* Fix build

* toExternalResource: formatName = null by default

* Reduce unnecessary continuations

* Fix ExternalResourceImplByFileWithMd5.inputStream

* ExternalResource: Remove BufferedImage support

* Don't close stream on image upload;
Unified closing behaviorImprove;
Improve FileCacheStrategy;

* Fix createImageDataPacketSequence closing

* Fix image upload, change size to long

* Fix docs

* Rename SendImageUtilsJvmKt to SendResourceUtilsJvmKt

* Run BIO appropriately

* Postpone file detection on formatName getter

* Fix SendResourceUtilsJvmKt JvmName

Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
2020-12-26 17:36:00 +08:00
Karlatemp
471e70205e
Covert SimpleListenerHostTest to kotlin 2020-12-26 16:43:10 +08:00
Karlatemp
2f903cef9e
Mirai code (#768)
* Mirai Code

* cleanup code

* mirai code of MarketFace
2020-12-26 15:55:13 +08:00
sandtechnology
ed289ed81d
Support MarketFace (#761)
* Support MarketFace

* Change HummerMessage to interface

* Let MarketFace implement HummerMessage

* Move MessageKey implementation to MarketFace

* Chang baseKey to HummerMessage
2020-12-25 21:32:31 +08:00
Karlatemp
39db2c8533
SeleniumLoginSolverSupport 2020-12-25 21:06:16 +08:00
Him188
c0d95ae958
Introduce EventChannel (#753)
* Introduce EventChannel, close #514

* Fix generics in EventChannel

* Don't require Job in CoroutineScope for EventChannel.parentScope

* Don't attach child job on EventChannel.parentJob

* Improve tests

* Fix tests

* Merge with dev
2020-12-25 18:49:34 +08:00
Him188
3ce6f092a1 Support OtherClient list sync after login, support deviceName 2020-12-24 23:37:52 +08:00
Him188
245ece7b40 Update docs 2020-12-24 15:38:02 +08:00
Him188
08b46a487c Add Group.getMember and Group.getMemberOrFail as disambiguation with get in some contexts. 2020-12-24 14:59:20 +08:00
Him188
c4791b0a5f Add recallIn 2020-12-24 14:54:08 +08:00
Him188
89ec0b6a4f Internal optimizations 2020-12-24 13:48:23 +08:00
Him188
3ac188bb64 Internal optimizations 2020-12-24 13:14:07 +08:00
Him188
9c7181779f Fix GroupMessageSyncEvent.toString 2020-12-24 13:07:45 +08:00
Him188
bef91ea9d0 Support syncing message sent from other clients, close #644 2020-12-24 13:05:17 +08:00
Him188
77b5de8d41 Declare Bot.asFriend stable 2020-12-24 12:47:28 +08:00
Him188
bf095866a8 Declare Group.botAsMember stable 2020-12-24 12:47:10 +08:00
Him188
15ee2303c2 Throw UnsupportedOperationException for OtherClient.sendMessage and OtherClient.uploadImage 2020-12-24 11:48:09 +08:00
Karlatemp
1e53f56212
Rename NotSupportedSliderCaptchaException to UnsupportedSliderCaptchaException 2020-12-24 01:14:27 +08:00
Karlatemp
2b12ae0ded
typo 2020-12-24 01:07:41 +08:00
Karlatemp
5db71cd299
Disable SliderCaptcha. #745 2020-12-24 00:34:13 +08:00
Him188
f613b7f7b7 Support other client messages:
- Add OtherClientMessageEvent
2020-12-23 22:46:10 +08:00
Him188
3b35dbcac5 Support OtherClient online status:
- Add ClientKind
- Add OtherClientOnlineEvent,OtherClientOfflineEvent
- Add Bot.otherClients
- Add OtherClientList
2020-12-23 20:57:39 +08:00
Him188
f1136e9b37 Add ContactList.getOrFail 2020-12-23 20:50:12 +08:00