Commit Graph

2886 Commits

Author SHA1 Message Date
Him188
a7a4879d05 Improve logging 2021-05-09 00:54:48 +08:00
Him188
5fa54114c1 Fix sso and event logging 2021-05-09 00:54:48 +08:00
Him188
971685a2b0 Fix state resume 2021-05-09 00:54:48 +08:00
Him188
95d634233c Close bot if first login failed 2021-05-09 00:54:48 +08:00
Him188
35a6d12dde Test: network scope closed on bot close 2021-05-09 00:54:48 +08:00
Him188
062492c546 Test: NettyEndlessReconnectionTest 2021-05-09 00:54:48 +08:00
Him188
e584bc8ee8 Test: state tests 2021-05-09 00:54:48 +08:00
Him188
8db8e2fb03 Implement lifecycle management for network 2021-05-09 00:54:48 +08:00
Him188
f9ddf74d8e Extract sync logic 2021-05-09 00:54:48 +08:00
Him188
076cd4997d BotOfflineEventMonitor 2021-05-09 00:54:48 +08:00
Him188
3806d7ce78 fix componentName and smartToString 2021-05-09 00:54:48 +08:00
Him188
c35c2c97c8 CombinedStorageTest 2021-05-09 00:54:48 +08:00
Him188
b91bbfd2b8 Add NetworkHandlerFactory and tests for NetworkHandler 2021-05-09 00:54:48 +08:00
Him188
4f77abca87 Components misc implementations including (ABI changes):
- ComponentStorage and its impls
- ContactCacheService
- ContactUpdater
- HeartbeatProcessor
- SsoProcessor
- QQABot
2021-05-09 00:54:48 +08:00
Him188
7f2f1e9759 Rearrange network tests 2021-05-09 00:54:48 +08:00
Him188
9286d2124e Add utils for tests 2021-05-09 00:54:48 +08:00
Him188
035085cf45 Remove state CONNECTION_LOST 2021-05-09 00:54:48 +08:00
Him188
84fa460b32 BotOnlineEvent, BotReloginEvent, BotOfflineEvent 2021-05-09 00:54:48 +08:00
Him188
d70475b8ba Do not resume state while it is already closed 2021-05-09 00:54:48 +08:00
Him188
0e1b9da5e4 Fix test KeepAliveNetworkHandlerSelectorTest 2021-05-09 00:54:48 +08:00
Him188
79112bc98d Fix LongMessageInternal missing parameter (due to merge) 2021-05-09 00:54:48 +08:00
Him188
35b80dc700 Processors 2021-05-09 00:54:48 +08:00
Him188
dd1b7404ea IDEA removed my import 2021-05-09 00:54:48 +08:00
Him188
9db3a5ef4f Rearrange packages for component system 2021-05-09 00:54:48 +08:00
Him188
0443fe4576 Prefer generified outgoing packets in all factories 2021-05-09 00:54:48 +08:00
Him188
82ad953b2b Continuing implement states for NetworkHandler 2021-05-09 00:54:48 +08:00
Him188
03e12eb287 fix build 2021-05-09 00:54:48 +08:00
Him188
9ac0a8715c Integrate ServerList into component system 2021-05-09 00:54:48 +08:00
Him188
3ec8a94096 ContactUpdater and ContactCacheService 2021-05-09 00:54:48 +08:00
Him188
51c1450202 ComponentStorage 2021-05-09 00:54:48 +08:00
Him188
05b2bfe059 Rearrange packages 2021-05-09 00:54:48 +08:00
Him188
70551167ba States and connection impl 2021-05-09 00:54:48 +08:00
Him188
1fef89cf1c Add state observer 2021-05-09 00:54:48 +08:00
Him188
8786f12d5d Add NetworkHandler.isOk to avoid state == OK 2021-05-09 00:54:48 +08:00
Him188
4446479e80 Make QQAndroidClient lighter 2021-05-09 00:54:48 +08:00
Him188
f2b236341a Decouple SSO login processor 2021-05-09 00:54:48 +08:00
Him188
997ad1eb63 Rearrange QQAndroidBot 2021-05-09 00:54:48 +08:00
Him188
1d053bd1bd Extract netty utils 2021-05-09 00:54:48 +08:00
Him188
90f5e27b5f Add AbstractKeepAliveNetworkHandlerSelectorTest 2021-05-09 00:54:48 +08:00
Him188
382c351e08 Implement NetworkHandlerSelector, serverList, and implement them into Bot 2021-05-09 00:54:48 +08:00
Him188
ff80434d2d Migrate network logger and old sendWithoutExpect and sendAndExpect 2021-05-09 00:54:48 +08:00
Him188
840dd19dd0 Move EMPTY_BYTE_ARRAY to mirai-core-utils 2021-05-09 00:54:48 +08:00
Him188
097a478999 Relocates netty files to correct packages 2021-05-09 00:54:48 +08:00
Karlatemp
5f0b432220 NettyTestUnit 2021-05-09 00:54:48 +08:00
Him188
e293195391 Set state to StateClosed appropriately and update docs 2021-05-09 00:54:48 +08:00
Him188
a143340141 Buildscript: Fix test artifacts included in main sourceset 2021-05-09 00:54:48 +08:00
Him188
d01f71ff8b Remove rubbish; fix build; add todos 2021-05-09 00:54:48 +08:00
Him188
b844efb072 New network: framework infrastructure 2021-05-09 00:54:48 +08:00
sandtechnology
028bfa483c
Introduce MemberNick class and correct nameCard decoding, Fix #1151 (#1231)
* Introduce MemberNick class and correct nameCard decoding, Fix #1151

* Update comment for better understanding

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

* Change var name in method for better understanding

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

* Fix build

Co-authored-by: Him188 <Him188@mamoe.net>
2021-05-06 17:54:52 +08:00
sandtechnology
e459c76f92
OnlinePush.SidTicketExpired: Refresh token and register online (#1242)
* OnlinePush.SidTicketExpired: Refresh token and register online

* Also update key map

* Update package name to internal

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

* Fix build

Co-authored-by: Him188 <Him188@mamoe.net>
2021-05-05 00:26:10 +08:00
Him188
6854252c77 Old network: re-init client on BotOfflineEvent.Force. #1205 for 2.7-M1 2021-05-04 12:47:27 +08:00
Him188
84d444843d Old network: delete account secrets on BotOfflineEvent.Force. #1205 for 2.7-M1 2021-05-04 12:47:22 +08:00
Him188
57eb716e31
Add inline BotFactory.newBot for Kotlin DSL. fix #1233 (#1234) 2021-05-02 13:51:32 +08:00
sandtechnology
0baaf9d587
Correct the seq logic, fix #1094 (#1232) 2021-05-02 13:51:21 +08:00
sandtechnology
db4c41f84a
Rework seq system (#1230)
* Rework seq system, should help #1209

* Use non-blocking (CAS) implement

* Making next seq code more clear for reading

* Fix mistake
2021-05-02 13:50:24 +08:00
Him188
70dc0a4da6
Remove kotlin.time.Duration usages (#1215)
* Remove kotlin.Duration usages

* Fix build

* update submodule console ref
2021-04-27 11:49:30 +08:00
sandtechnology
4e070baf34
Fix duplicate register packet (#1214) 2021-04-25 11:37:12 +08:00
Karlatemp
d3dc756a50
Drop empty UnsupportedMessage; fix #1210 2021-04-24 10:18:06 +08:00
Him188
5dcccd1402 Introduce base class for tests AbstractTest 2021-04-20 12:47:57 +08:00
Him188
6d58fb5514 Ensure fast login succeed, fix #1199 2021-04-18 14:37:16 +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
Karlatemp
83fa78b50d
Find nick from source; fix #1137 2021-04-17 09:28:11 +08:00
Hoshino Tented
1bf1e3686f
添加管理员修改功能 (#1178)
* add modifyAdmin

* 修复赋予相同权限时不会抛错并且仍然广播事件的 bug

* fix test failed

* fix test failed AGAIN

* fix myself

* 是这样吗

* i am so sorry :(

* fix fixed bug
2021-04-16 08:33:07 +08:00
Him188
f3d3130f2d Support login cache and login without password. close #1158 2021-04-10 18:46:39 +08:00
Karlatemp
509c0d3d06
Fix mute all not working; Fix #1181 2021-04-09 19:19:03 +08:00
Him188
8d3a4fbf5b
Deprecate RemoteFile.moveTo(String) for ambiguous behavior (#1180) 2021-04-09 18:33:12 +08:00
Him188
ce95d8fdce Fix RemoteFile.resolveById, fix #1177 2021-04-09 07:47:51 +08:00
Him188
d4ee81c79a Fix potential memory leak with struct ByteReadPacket 2021-04-08 22:42:24 +08:00
Him188
951ddc3138 Declare type explicitly for IDE inference issue 2021-04-08 18:07:21 +08:00
Him188
45c6adf956 Declare type explicitly for IDE inference issue 2021-04-08 13:15:24 +08:00
Him188
344c54531d Declare type explicitly for IDE inference issue 2021-04-08 13:13:23 +08:00
Him188
7be14f809c Fix build warnings 2021-04-08 12:44:58 +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
Hoshino Tented
a085ab26c8
fix #1155 (#1170)
* fix #1155

* fix unmute

* add durationSeconds check for mute

* fix stupid code

* fix me
2021-04-07 17:34:45 +08:00
sandtechnology
5d1395a78c
Fix key refresh failed when refresh again and update dumped data (#1169)
* Fix key refresh failed when logged with fast login

* Update dumped data and remove outdated t511 list

* Fix key refresh again

* Fix naming and support multi bot case

* Remove useless code

* Fix key refresh again, remove useless default value (ksid)
2021-04-07 12:12:13 +08:00
Him188
bb5c85965a Simple test: MockBot 2021-04-07 00:59:08 +08:00
Karlatemp
b227f719a2
Fix kt compiler errors (#1159)
* Fix kt compiler errors

* Revert "Fix compiler bug, fix #1136"

This reverts commit 39f6c168

* Fix log style

Co-authored-by: Him188 <Him188@mamoe.net>
2021-04-05 22:41:26 +08:00
AdoptOSS
21e8852e0f
buildscript: fix task not found errors when android sdk not available (#1161)
* buildscript: fix task not found errors when android sdk not available

* fix: this shadowed by run

* cleanup: code style

* improve: avoid breaking index map
2021-04-05 22:35:38 +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
39f6c1680c Fix compiler bug, fix #1136 2021-04-04 00:00:32 +08:00
Him188
caf9eb06ad Fix package name of StrangerImpl 2021-04-03 23:17:00 +08:00
Him188
50e60cc4fe Use system property mirai.unknown.image.type.logging to enable logging on unknown image type, helps #1111 2021-04-03 23:07:41 +08:00
Him188
cccdb3cdf2
Update docs for messages (#1142)
* Update docs for messages

* Update docs for messages

* Update docs for messages

* Update docs for messages

* Update docs/Messages.md

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

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

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

* Update docs for messages

* Update docs for messages

* Revert inappropriate changes

* Fix doc

Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
2021-04-03 22:39:55 +08:00
Him188
ea1f43b9c5
Fast login (#1154)
* wtlogin10

* Fast login Packet Implement (#1125)

* Correct group syncing logic again, Fix #1120

* Implement fast login packet, thanks to MiraiGo

* Delete duplicated tlv

* Refresh Token when exchanging and solve connection dropping issue (#1128)

* Correct group syncing logic again, Fix #1120

* Implement fast login packet, thanks to MiraiGo

* Delete duplicated tlv

* Schedule token exchanging every 10 minutes, solve connection dropping issue

* Refresh Token when exchanging, and correct token expire time

* Remove useless params for doFastLogin

* Fix missed register and tgt update (#1131)

* Correct group syncing logic again, Fix #1120

* Implement fast login packet, thanks to MiraiGo

* Delete duplicated tlv

* Schedule token exchanging every 10 minutes, solve connection dropping issue

* Refresh Token when exchanging, and correct token expire time

* Remove useless params for doFastLogin

* Fix missed register and tgt update

* Add login lock

* Add login lock

* Remove key refresh

* Remove heartbeat period override

* Login: Update tlv and solve constant connection dropping issue (#1150)

* Correct group syncing logic again, Fix #1120

* Implement fast login packet, thanks to MiraiGo

* Delete duplicated tlv

* Schedule token exchanging every 10 minutes, solve connection dropping issue

* Refresh Token when exchanging, and correct token expire time

* Remove useless params for doFastLogin

* Fix missed register and tgt update

* Update tlv, add tlv11d and tlv11a decoding

* Add stat heartbeat, solve constant connection dropping issue

* Update apidump for new configuration

* Add comment for statHeartbeatPeriodMillis

* Change old naming

* Add since version

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

Co-authored-by: sandtechnology <20417547+sandtechnology@users.noreply.github.com>
2021-04-03 22:31:14 +08:00
Karlatemp
f6fd4de14b
Postpone error reporting in parsing in NewContact (#1147)
* Add `ParseErrorPacket` for postpone error report

* Continue to parse even if an error occurs
2021-04-03 22:17:49 +08:00
Karlatemp
6e914f6941
Fix forward display (#1148) 2021-04-03 22:12:14 +08:00
Him188
3f807353b3 Remove UNSUPPORTED_MERGED_MESSAGE_PLAIN, fix #1119 2021-03-30 12:16:08 +08:00
Him188
cea4d23d7f Create OtherClientInfo from known information, fix #1109 2021-03-30 12:14:20 +08:00
Him188
fc70bb9ed8 Remove type definition to help compatibility with Kotlin 1.5 2021-03-29 23:59:03 +08:00
sandtechnology
70bbfcf786
Correct group syncing logic again, Fix #1120 (#1123) 2021-03-28 22:48:38 +08:00
Him188
de170325c9 Merge branch 'fix_1118_empty_listFiles' into dev 2021-03-28 19:32:44 +08:00
Him188
174ca300d6 Fix empty listFiles for child directories, fix #1118 2021-03-27 15:39:46 +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
c47535289a
Merge pull request #1115 from mamoe/transform_special_messages
Move Dice to MarketFace conversion from `SendMessageHandler.transformSpecialMessages`...
2021-03-26 20:36:21 +08:00
Him188
8d25025d24 Support decode Dice sent by TIM PC clients 2021-03-26 20:34:32 +08:00
Him188
efc6eda312 Move Dice to MarketFace conversion from SendMessageHandler.transformSpecialMessages to MessageChain.toRichTextElems to enable conversions for ForwardMessage 2021-03-26 19:54:11 +08:00
Karlatemp
a5e85f443e
Try fix forward message display (#1052)
fix https://github.com/mamoe/mirai/issues/1052#issuecomment-805600071
2021-03-25 00:01:04 +08:00
Him188
9f52a26fbd Fix FileMessage mirai code 2021-03-20 22:31:12 +08:00
Him188
5f02c35e66 Merge remote-tracking branch 'mirai/dev' into dev 2021-03-20 15:33:48 +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
Karlatemp
f9353b6aef
Compiled code verify (#1080)
* Compiled code verify

* Run `verifyCompiledClasses` in `check` task

* Redesign verification

Co-authored-by: Bo Zhang <bo@gradle.com>

* Disable console verify

* Decoupling

Co-authored-by: Bo Zhang <bo@gradle.com>
2021-03-20 13:34:04 +08:00
Karlatemp
3152e24523
Fix operations of RemoteFile (#1104)
* Fix operations of RemoteFile

* apiDump

* Remove duplicate method

* Don't setup fileId
2021-03-18 12:30:06 +08:00
Karlatemp
d4532f948c
Fix duplicated MemberJoinEvent broadcast; fix #1090 2021-03-11 22:32:22 +08:00
Karlatemp
27e0f572d3
Record unlogged events 2021-03-11 18:21:21 +08:00
Him188
e256ec06d3
Support file operations (#1069)
* Proto structs for group file

* RemoteFile fundamental abstraction and proto structs

* Configure JVM target for mirai-console-intellij

* Add Group.filesRoot

* Fix build

* Implement a FileSystem for RemoteFile resolution

* Fix RemoteFile FileSystem and implement resolve and listFiles

* Implement file info query and file download

* Support uploading group file

* Support file feeds

* 2.5-M2-dev-1

* Fix tests

* 2.5-M2-dev-2

* Add uuid-based resolving, support getting file details

* Support FileMessage receive

* Support sending FileMessage

* 2.5-M2-dev-3

* Add DownloadInfo.id

* Improve RemoteFile.delete

* Support move, delete, rename, mkdir. Simplify listFiles

* - Rename RemoteFile.write to .upload.
- Prefer id matching
- Improve move

* Add permission checks

* Improve permission checks

* Rearrange functions and add constant ROOT_PATH

* Introduce FileSupported, add extensions

* Introduce ProgressionCallback

* Fix docs and uploadFileAndSend

* Remove empty FileHighway.kt

* Add test testNormalize

* Add RemoteFile.contact, change RemoteFile.uploadAndSend return type to MessageReceipt

* Move @JvmBlockingBridge to file

* Change FileMessage.toRemoteFile parameter type Group to FileSupported

* Add impl notes #1082
2021-03-08 18:34:45 +08:00
Karlatemp
716b8c6129
Reinitialize network before connect server 2021-03-06 21:58:57 +08:00
Karlatemp
038ea831ac
Improve logging
- replace magic codes in sender nick and other components
2021-03-06 18:43:02 +08:00
sandtechnology
fa59459041
Correct group syncing and add friend syncing logic, Fix #1058 (#1060)
* Correct group syncing and add friend syncing logic, Fix #1058

* Simple method naming

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

* Replace with runBlocking

* Return events instead of broadcasting it

* Use suspend instead of runBlocking

* Make transformers suspend

Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
2021-03-05 14:12:17 +08:00
Him188
17a5d3821f Fix error message when sending message 2021-03-04 14:50:44 +08:00
Him188
ad04cd35a4 Throw BotIsBeingMutedException on errorCode 120 when sending message 2021-03-04 14:49:53 +08:00
Him188
2b6eddd0d7 Revert "Avoid using kotlin.time.Duration API in a binary-sensitive way, fix #1066"
...since 2.5 targets Kotlin 1.4.30

This reverts commit cedb239f
2021-03-03 09:27:37 +08:00
Him188
a8f3bc876d Merge remote-tracking branch 'mirai/dev' into dev 2021-03-03 08:06:00 +08:00
Him188
cedb239fc3 Avoid using kotlin.time.Duration API in a binary-sensitive way, fix #1066 2021-03-03 08:04:57 +08:00
Karlatemp
047a3b344e
Try fix display of ForwardMessage on iOS; #1052 2021-03-02 23:10:38 +08:00
Him188
cafd13478f Fix member permission detection in OnlinePushPbPushGroupMsg, fix #1050 2021-02-27 14:36:18 +08:00
Him188
aaab3ae109 Merge branch 'dev' into android_target
# Conflicts:
#	build.gradle.kts
2021-02-25 10:39:51 +08:00
Him188
6cf3d6b190 Fix tests package name 2021-02-25 09:31:30 +08:00
Karlatemp
7a7c88b783
Android api level check 2021-02-25 00:12:58 +08:00
Him188
0b971b2117 Merge branch 'dev' into android_target
# Conflicts:
#	build.gradle.kts
#	buildSrc/src/main/kotlin/Versions.kt
2021-02-24 09:20:47 +08:00
Karlatemp
a5c28758e9
Improve RspSystemMsgNew filtering 2021-02-21 14:28:51 +08:00
Karlatemp
f12f78a55f
Query self profile when missing nickname; Fix #1023 2021-02-20 20:50:44 +08:00
Karlatemp
ce06ce85f0
Improve RspSystemMsgNew handling; #1033, #996, #959, #610 2021-02-19 23:09:26 +08:00
Karlatemp
3ba2510f10
Update permission flags; close #1013 2021-02-16 21:07:43 +08:00
Karlatemp
addee38c70
Don't add new friend when reject new friend request 2021-02-15 13:43:03 +08:00
Karlatemp
e7e8d8ca6a
Fix MessageChain.cleanupRubbishMessageElements() 2021-02-15 11:38:42 +08:00
sandtechnology
9699218601
Fix wrong decoding on ConfigPushSvc and update default server list (#1015)
* Fix wrong decoding on ConfigPushSvc and update default server list

* Fix a bug which won't update server list

* Improve wording

* Fix an encoding error

* Fix wording

* Naming consistently

* Improve ServerListPush message

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

Co-authored-by: Him188 <Him188@mamoe.net>
2021-02-13 11:34:48 +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
Karlatemp
d09d810b6f
Fix bot nick not initialized; Fix #1019 2021-02-12 17:22:14 +08:00
Karlatemp
0d58e6e3ab
Convert CRLF(\r\n), CR(\r) to LF(\n); fix #1010 2021-02-11 08:48:01 +08:00
Karlatemp
791e43819c
Fix logic of BdhSessionSyncer.hasSession 2021-02-11 07:47:14 +08:00
Karlatemp
3e3be23397
Fix build 2021-02-10 22:25:22 +08:00
Him188
ce22a0c3ab Fix kotlin.UninitializedPropertyAccessException on ConfigPushSvc.PushReq.handle, fix #1003 2021-02-10 15:31:19 +08:00
Him188
915e096cc2 Switch server when neither new bdh session nor cached one found, fix #1001 2021-02-10 15:27:50 +08:00
Him188
cda6aaa79b Simplify cache configuration.
Improve cache saving:
- Use ProtoBuf to serialize BdhSession
- More readable servers.json
2021-02-10 15:20:39 +08:00
Him188
01374b1d32 Merge remote-tracking branch 'mirai/dev' into dev 2021-02-09 18:40:51 +08:00
Him188
9a32b2690e RichMessageOrigin support for MusicShare. fix #950 2021-02-09 18:40:30 +08:00
Karlatemp
17c2069c82
Handle ConfigPushSvc.PushReq.PushReqResponse.ChangeServer in ConfigPushSvc 2021-02-09 15:08:50 +08:00
Karlatemp
0780756bd4
Typo 2021-02-09 14:44:34 +08:00
Karlatemp
c9f56175af
Cache BdhSession and ServerList for next login 2021-02-09 13:51:08 +08:00
Him188
ad6d95cee5 Require password length to be at most 16 on BotAccount init. #993 2021-02-07 19:00:21 +08:00
Him188
c4c0bce381 Merge remote-tracking branch 'mirai/dev' into dev 2021-02-07 14:18:35 +08:00
Him188
d0ea9ceaae Upload all voices as silk format to avoid compression, #940 2021-02-07 14:18:19 +08:00
Him188
7fac83702a Support group list cache, close #987 2021-02-07 13:43:03 +08:00
Him188
90d4030fe6 Support friend list cache, close #408 2021-02-06 22:52:41 +08:00
Him188
6cb3aed2f0 Remove unused QQAndroidBot.selfInfo 2021-02-06 20:43:02 +08:00
Him188
9211f697cf Review contact infos and make them serializable 2021-02-06 20:40:54 +08:00
Him188
311df7d22b Extract contact sync logic to ContactUpdater for future caching #408 2021-02-06 19:53:51 +08:00
Him188
13d4554456 Send logout on bot.close 2021-02-06 17:43:12 +08:00
Him188
3964d9976a Fix PC OtherClientOnlineEvent sync missing clientInfo, fix #955 2021-02-06 17:29:28 +08:00
Him188
13faff5471 Add serialization support for ShowImageFlag 2021-02-05 22:34:08 +08:00
Him188
012d9d6e71 Fix uninitialized property exception when Bot.closed called before Bot.login 2021-02-03 19:23:12 +08:00
Karlatemp
10eb7a452f
Fix exception logging in event processing 2021-02-03 18:57:23 +08:00
Him188
5b80df7b3d
Merge pull request #952 from mamoe/fix_polymorphic_serializaiton
Fix polymorphic serializaiton
2021-02-03 10:51:01 +08:00
Him188
b9e5c15bdb Add polymorphic serialization tests 2021-02-03 10:39:36 +08:00
Him188
66ef872962
Merge pull request #945 from mamoe/parse_long_message
Redesign message transformers and support refining, support long and forward messages
2021-02-03 09:37:33 +08:00
Him188
54050523c3 Generalize RichMessageOrigin, add origin and kind. Add RichMessageKind. #950 2021-02-03 09:20:33 +08:00
Him188
e381a2b33f Ignore unrecognized message types on messageToElems transformation 2021-02-03 09:20:33 +08:00
Karlatemp
b659d55fec Support forward message refinement, close #623 2021-02-03 08:09:57 +08:00
Karlatemp
d7272e7e9a Fix resource download:
- fix download/upload logging
- add retry fro single server download
2021-02-03 08:09:57 +08:00
Him188
f2fe94ed67 Rename LongMessageOrigin to RichMessageOrigin 2021-02-03 08:09:57 +08:00
Him188
cd146e5976 Fix forward and long detect 2021-02-03 08:09:57 +08:00
Him188
82b355a6c6 Fix download url 2021-02-03 08:09:57 +08:00
Him188
1e95c43ff6 Add LongMessageOrigin and extract public api IMirai.downloadLongMessage 2021-02-03 08:09:57 +08:00
Him188
de8e6469e0 Support long message refinement, close #692 2021-02-03 08:09:57 +08:00
Him188
1768872bab Rewrite message to struct conversions, add ReceiveMessageTransformer, for parsing long and forward messages in the future 2021-02-03 08:09:57 +08:00
Karlatemp
918007df9b
Fix image uploading; fix #944 2021-02-02 22:24:18 +08:00
Karlatemp
280e0655f1
toString of ConfigPushSvc.PushReq.PushReqResponse.ChangeServer 2021-02-02 22:10:16 +08:00
Karlatemp
66fe6f504a
Change ConfigPushSvc.PushReq awaiting timed out to 20s 2021-02-02 22:09:45 +08:00
Karlatemp
0b8b26f53f
Don't use SecurityRandom because Linux bug (#936, #941) 2021-02-02 12:21:21 +08:00
Karlatemp
9f8ca3a22a
Fix private image highway upload 2021-02-02 11:51:12 +08:00
Him188
fb05670239 Fix group recall for TIM PC 2021-02-02 11:36:05 +08:00
Him188
3ff7fa7db1 Decode service message as LongMessageInternal or ForwardMessageInternal if possible 2021-02-01 13:14:42 +08:00
Him188
5857d1b2ee Add MultiMsg.ApplyDown 2021-02-01 13:14:18 +08:00
Him188
bacfef584f Add android compilation target 2021-02-01 12:23:28 +08:00
Karlatemp
8e784c383e
Fix display of ForwardMessage 2021-02-01 10:47:31 +08:00
Karlatemp
af034a0a00
Improve SendMessageHandler; Fix image not display in some group; #939 2021-01-31 18:55:02 +08:00
Him188
8c88f0e44f Update StatSvc.register, do unregister before register to help PC clients 2021-01-31 16:45:22 +08:00
Him188
d74339c1aa Merge remote-tracking branch 'mirai/dev' into dev 2021-01-31 15:41:36 +08:00
Him188
4834e20be0 Fix apng upload #939 2021-01-31 15:41:21 +08:00
Him188
84c33c1feb Add CustomFaceExtPb.ResvAttr 2021-01-31 15:40:25 +08:00
Him188
248ed34155 Use long image size 2021-01-31 15:17:07 +08:00
Karlatemp
db5e54507a
Fix image id conversion; fix #933
Signed-off-by: Karlatemp <karlatemp@vip.qq.com>
2021-01-31 14:27:10 +08:00
Him188
c572a7e434 Add fallback strategy to generate OfflineFriendImage.imageId on AbstractUser.uploadImage #933 2021-01-31 14:10:41 +08:00
Him188
f326e9ad6f Add issue track link in contextualBugReportException 2021-01-31 14:06:18 +08:00
Him188
0ef0e44c73 Add fallback strategy to generate OnlineFriendImageImpl.imageId #933 2021-01-31 14:05:38 +08:00
Him188
edb6a1d0c2 Add fallback strategy to upload friend image #939 2021-01-31 13:22:37 +08:00
Him188
e8dc06ebad Add utils for send packet 2021-01-31 13:10:18 +08:00
Him188
4f17780ac5 - Fix publishing
- Remove root module publication
2021-01-30 20:32:21 +08:00
Him188
df3cc8457d Fix image extension "null" received from some official clients 2021-01-29 11:38:43 +08:00
Him188
22ac89207a Fix friend message sequence sync with multiple bots 2021-01-29 11:21:40 +08:00
Him188
245d08051b Fix build 2021-01-29 10:52:40 +08:00
Him188
49522fb5d3 Make UserProfile impl data class 2021-01-29 10:43:54 +08:00
Him188
559d6a7039 Merge remote-tracking branch 'mirai/dev' into dev 2021-01-29 10:23:42 +08:00
Him188
f8d8ffb782 Improve inspection performance 2021-01-29 10:23:18 +08:00
Him188
b3e77119fb Shuffle server list when RequireReconnect 2021-01-29 09:05:47 +08:00
Him188
17de501f04 Update default server list 2021-01-29 09:05:21 +08:00
Karlatemp
1f5f0e269c
Fix MessageSource.ensureSequenceIdAvailable()
fix #930
2021-01-28 21:06:54 +08:00
Him188
60190d373c Fix ForceAsLongMessage 2021-01-28 18:55:31 +08:00
Him188
fb3b4425ed Fix long message internal and forward message uploading 2021-01-28 18:45:38 +08:00
Him188
74c4369931 Implement long message for private session and unify message send as SendMessageHandler, fix send failure with quoted image fix #892 2021-01-28 18:04:17 +08:00
Karlatemp
ca694e217b
StrangerList.GetStrangerList.Response 2021-01-27 23:19:40 +08:00
Karlatemp
073666e9f7
Correct package of StrangerList 2021-01-27 23:06:34 +08:00
Him188
ba7a3e0889 Unified exception message for setEssenceMessage 2021-01-26 23:09:13 +08:00
Karlatemp
3dea0f7dd7
Use Group.id for sending MusicShare
fix #918
2021-01-26 22:45:19 +08:00
HelloWorld
1df5479c0b
Merge pull request #921 from sandtechnology/showImage
Support detect show image, also update pb
2021-01-26 22:26:59 +08:00
mzdluo123
eec2e9f2c1
Merge remote-tracking branch 'origin/dev' into dev
# Conflicts:
#	mirai-core/src/commonMain/kotlin/contact/GroupImpl.kt
2021-01-26 22:11:08 +08:00
mzdluo123
19829b75f1
add: set group essence message #837 2021-01-26 22:10:05 +08:00
sandtechnology
dd9439d507 Support detect show image, also update pb 2021-01-26 21:22:46 +08:00
Him188
7a6e930fc7
Support key refresh (#901)
* Add skey tests

* t106

* Fix some protocol errors. skey refresh

* login extra

* Support Key refresh, close #833

* apiDump

* Merge with dev
2021-01-26 19:32:27 +08:00
Him188
d8b1505181
Highway big data channel (#917)
- Fix retryWithServers exception suppress
- ConfigPush BDH session
- ConfigPush SSO change server
- Upload group PTT silk, #577
- Support upload private image through highway, close #194;
- Add fallback strategies for uploading group voice #577 and private image #916
- Upload all resources through highway BDH
- Support concurrent uploading
- Add BotConfiguration.highwayUploadCoroutineCount

close #916, close #577, close #194
2021-01-26 19:08:01 +08:00
Him188
8ad0b91974 Fix blocking calls in suspend contexts 2021-01-26 13:38:23 +08:00
Him188
63860f9ab7 Improve logs 2021-01-26 13:25:13 +08:00
Him188
544006b0e7 Improve OtherClients load messages 2021-01-26 12:42:11 +08:00
Him188
fed003e491 async reconnect 2021-01-25 23:26:18 +08:00
Him188
d3b9741bdb Renew QQAndroidClient on reconnection 2021-01-25 22:53:04 +08:00
Him188
af9eadf34e Fix endless reconnection on LoginFailedException, close #895 2021-01-25 12:41:07 +08:00
Him188
ff9cc6a74e Improve logs on reconnection 2021-01-25 12:36:16 +08:00
Him188
336cc6a8f9 Add OutgoingPacketWithRespType for developing convenience 2021-01-24 04:39:59 +08:00
Him188
8e2e259618 Move queryProfile from Bot to IMirai and add User.queryProfile 2021-01-24 01:15:12 +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
9d77382b6d Remove delay on BotOfflineEvent.Force 2021-01-24 00:20:21 +08:00
Him188
44d96fe36b Speed up reloadGroupList: use Semaphore with 30 initial permits 2021-01-24 00:15:46 +08:00
Him188
80b00f9910 Fix reloadGroup retry 2021-01-24 00:13:52 +08:00
Him188
ab2a8539e0 Fix reconnect, #894 2021-01-24 00:09:19 +08:00
Him188
e605c293f5 Revert "Fix reconnect. Fix #894"
This reverts commit 65eff19f
2021-01-23 23:48:38 +08:00
Him188
65eff19f32 Fix reconnect. Fix #894 2021-01-23 23:29:09 +08:00
Him188
2e5b223b6a
支持使用QQ互联通道发送音乐分享 (#889)
* Add new MessageContent MusicShare and its protocol internals. #690, #682

* MusicShare sending

* MusicShare: MessageSource integration fundamentals

* - MessageReceipt integration for MusicShare
- Support MusicShare in QuoteReply: transform as PlainText
- Support LightApp refining, support decoding MusicShare

* Dump api for MusicShare

* Remove debugging code

* 2.1.0-dev-3

* Remove confusing providedSequenceIds in OnlineMessageSourceToGroupImpl

* fix build

Co-authored-by: wdvxdr <wdvxdr@foxmail.com>
2021-01-23 22:09:27 +08:00
Karlatemp
5a468a0177
Delete debugging println 2021-01-23 14:44:32 +08:00
Karlatemp
4e2ba2f7e3
Improve group message sending (#892) 2021-01-23 14:31:26 +08:00
Karlatemp
c762ecd0a2
Fix recall error message 2021-01-23 14:30:43 +08:00
Him188
162bc9113c Improve message event logs:
- Do not include MessageSource
- Treat MessageSyncEvent as a message sent by others
2021-01-23 03:09:04 +08:00
Him188
e2554f0ea6 Fix message results in internal impl 2021-01-23 02:58:22 +08:00
Him188
76459aca34 Remove ProtoBufWithNullableSupport.kt, use Kotlin's ProtoBuf instead, fix potential serialization problems 2021-01-23 01:29:34 +08:00
Him188
9b38b9a54d Avoid re-broadcasting MessagePostSendEvent for long messages 2021-01-23 00:28:14 +08:00
Him188
d60006376c Rewrite Group sendMessageImpl, improve current Highway impls, for music share #889 #682 and further friend message highway #194, #577 2021-01-23 00:09:35 +08:00
Him188
5a0b0e494e Fix forward message when wrapped in MessageChain 2021-01-22 13:42:55 +08:00
Him188
8dd3830a71 Fix build 2021-01-22 13:22:32 +08:00
Him188
1963b3768d Improve PlatformSocket:
- Close channels on close
- Interrupitable `connect`
- Cancel `raed` on continuation cancellation
2021-01-22 13:01:40 +08:00
Him188
bdfbe43271 Enable explicitApi for mirai-core, add notes for BotFactoryImpl 2021-01-22 11:25:01 +08:00
sandtechnology
209b2b7616
Support decode the join request by member invite (#882)
* Support detect official bot, fix #439

* Fix wrong command name and add missed value

* Adapt to changed invite event

* Internal MessageData

* Fix build

* Fix wording

* Support decode the join request by member invite

* Fix shadow warning

* Fix build

* Adapt to MemberJoinEvent broadcast logic when accepted

* Downgrade blockingBridge version to 1.7.2 for passing build

* Fix binary compatibility

* Reformat code

* Update api

Co-authored-by: Him188 <Him188@mamoe.net>
2021-01-22 07:48:10 +08:00
Karlatemp
c77f94cd52
UserProfile query (#866)
* UserProfile query

* zip vReq0x5ebFieldId

* Move UserProfile to `net.mamoe.mirai.data`

* Move `queryProfile` to high-level api

* Add doc

* Update UserProfile.kt

* Make UserProfile experimental

* Convert UserProfile.sex to enum

* Remove debugging code

* Dump apis

Co-authored-by: Him188 <Him188@mamoe.net>
2021-01-22 07:47:57 +08:00
Him188
988794343b Improve buildscript, fix publication 2021-01-21 10:08:21 +08:00
sandtechnology
3a5d707417
Support detect official bot, fix #439 (#810)
* Support detect official bot, fix #439

* Fix wrong command name and add missed value

* Adapt to changed invite event

* Internal MessageData

* Fix build

* Fix wording
2021-01-20 19:20:24 +08:00
Him188
73eb4813e5 Support joinTimestamp and lastSpeakTimestamp, fix #865, fix #394 2021-01-17 19:35:04 +08:00
Him188
4467f69110 Improve member impls 2021-01-17 19:34:40 +08:00
Him188
08badca2af Merge remote-tracking branch 'origin/dev' into dev 2021-01-17 18:44:44 +08:00
Him188
4b1e7be524 Ignore SystemMsgNewGroup subType=3 groupMsgType=5, fix #651 2021-01-17 18:43:54 +08:00
Him188
bb348930d8 Extract login subcommands to simplify WtLogin, add exchange_emp, #833 2021-01-17 18:32:43 +08:00
Karlatemp
cbae09bf4a
JceRequestSBufferBuilder 2021-01-17 17:42:02 +08:00
Him188
3098a7d953 Broadcast FriendAddEvent on acceptNewFriendRequest 2021-01-17 17:18:11 +08:00
Him188
45072c92d3 Broadcast MemberJoinEvent on acceptMemberJoinRequest, fix #641 2021-01-17 17:16:20 +08:00
Karlatemp
57463fddd8
mirai-login-solver-selenium 1.0-dev-14 2021-01-15 00:47:47 +08:00
Him188
1e55d15047 Fix potential SvcReqMSFLoginNotify (OtherClient online) decode failure 2021-01-14 18:11:53 +08:00
Him188
b49894a4f1 Merge remote-tracking branch 'origin/dev' into dev 2021-01-14 18:00:25 +08:00
Him188
10ef21dd91 Simplify internal implementation 2021-01-14 12:38:13 +08:00
Him188
067ab7c765 Replace deprecation calls internally 2021-01-14 12:28:00 +08:00
Karlatemp
d48ccee708
Splicing fragmented plain text 2021-01-14 11:48:11 +08:00
sandtechnology
3cc3f52e69
Fix #856, also fix wrong comment in PbPushTransMsg.kt (#859) 2021-01-13 21:46:16 +08:00
sandtechnology
72ca12a347
Fix long message error again (#858)
* Fix #195 again, also fix #539

* Let AtAll consistent with At

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

* Change Member to NormalMember for capable events

* Make StrangerRelationChangeEvent sealed

* 2.0-RC

* Fix dokka

* Fix #195 again

* Revert Image length to 260 and increase limit to 15000

* Add fallback measure to group message

* Remove unnecessary log

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

Co-authored-by: Him188 <Him188@mamoe.net>
2021-01-13 21:45:35 +08:00
sandtechnology
837bae41fc
Fix Long message error (#857)
* Fix #195 again, also fix #539

* Let AtAll consistent with At

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

* Change Member to NormalMember for capable events

* Make StrangerRelationChangeEvent sealed

* 2.0-RC

* Fix dokka

* Fix #195 again

Co-authored-by: Him188 <Him188@mamoe.net>
2021-01-13 18:53:00 +08:00
sandtechnology
72f870a3df
Fix inconsistent message length (#855)
* Fix #195 again, also fix #539

* Let AtAll consistent with At

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

Co-authored-by: Him188 <Him188@mamoe.net>
2021-01-13 17:25:07 +08:00
Him188
0b2bb82d10 Change Member to NormalMember for capable events 2021-01-12 18:11:47 +08:00
sandtechnology
b9f78be0d5
Support C2C sync and fragmented message decoding of friend (#841)
* Support C2C sync and fragmented message in friend

* Update mirai-core-api/src/commonMain/kotlin/event/events/MessageSyncEvent.kt

* Update mirai-core-api/src/commonMain/kotlin/event/events/MessageSyncEvent.kt

* Update mirai-core-api/src/commonMain/kotlin/event/events/MessageSyncEvent.kt

* Update mirai-core-api/src/commonMain/kotlin/event/events/MessageSyncEvent.kt

Co-authored-by: Him188 <Him188@mamoe.net>
2021-01-11 23:32:32 +08:00
Him188
219ecde909
Merge pull request #842 from sandtechnology/FixPCClientMsg
Fix missed PC client message
2021-01-11 23:27:34 +08:00
sandtechnology
ee906d85f3 Fix missed PC client message 2021-01-11 21:44:58 +08:00
Him188
d1c9acf7f4 Migrate to new GroupTempMessageEvent 2021-01-11 19:26:15 +08:00
Him188
564c961d3f Add low level APIs for recalling message 2021-01-11 19:11:46 +08:00
Him188
a7dabd63aa Allow modifying IMirai.Http 2021-01-11 18:57:01 +08:00
Him188
190a098227 Do not kill bot on offline. Fix #838 2021-01-11 17:59:07 +08:00
Him188
1d4867d9b6 Merge remote-tracking branch 'origin/dev' into dev 2021-01-11 17:39:28 +08:00
Him188
25ad97766c Fix potential memory leak. #556 2021-01-11 17:39:10 +08:00
Him188
7f8003478c Make OtherClientInfo.platform nullable. 2021-01-11 17:14:24 +08:00
Him188
c074bef9c6 Deprecate TempMessageEvent and add GroupTempMessageEvent for #429 2021-01-11 17:09:01 +08:00
Karlatemp
01c050d0b6
FragmentedMsgParsingCache 2021-01-10 23:20:15 +08:00
sandtechnology
268dcc7039
Support PushStatus and add new ClientKind, Fix #787 (#836)
* Support PushStatus and improve ClientKind

* Revert NotNull changes
2021-01-10 23:18:14 +08:00
Him188
c8298b1cac Filter redundant At around QuoteReply sent by Android clients 2021-01-10 04:38:20 +08:00
Him188
ad6e951be8 Fix MessageSource.originalMessage: now offline sources does not have MessageSource in their originalMessage 2021-01-10 03:44:58 +08:00
Him188
b65afd8533 Fix messageSourceKind for OfflineMessageSource in QuoteReply 2021-01-10 03:12:30 +08:00
Him188
1a1eb0e2a4 [Review] MessageSourceBuilder 2021-01-09 21:36:27 +08:00
Him188
989cd3292e Merge remote-tracking branch 'origin/dev' into dev 2021-01-09 14:54:02 +08:00
Karlatemp
bca98c72d5
Fix StackOverflowError in QuoteReply
fix #829
2021-01-09 13:11:07 +08:00
Him188
619dafa1ae [Review] Move Listener.ConcurrencyKind and Listener.EventPriority to top-level 2021-01-08 12:41:42 +08:00
Him188
4e2108d841 [Review] NudgeEvent: Simplify and stabilize NudgeEvent, remove all XXXNudgeEvent, add single NudgeEvent 2021-01-08 12:28:12 +08:00
Him188
8f998320ca Fix sendAndExpect retry 2021-01-08 12:04:15 +08:00
Him188
7dd7f48994 Don't catch Error while reconnecting and sending packet, fix #824 2021-01-08 12:03:42 +08:00
Him188
b32090bf2a [Review] OtherClient:
- Change Bot.otherClients to ContactList<OtherClient>
- Change OtherClient.id to delegate info.appId
- Stabilize OtherClientInfo
2021-01-08 11:42:44 +08:00
Him188
1885db5523 Code cleanup 2021-01-08 11:37:09 +08:00
Him188
976901603e [Review] MessageRecallEvent: make author and operator not null 2021-01-08 11:11:45 +08:00
Him188
b17c269b62 [Review] Add FlashImage.from(Image), remove deprecated FriendImage.flash and GroupImage.flash 2021-01-08 08:33:47 +08:00
Him188
668398c597 Fix build 2021-01-07 21:11:30 +08:00
Him188
986ebd3c5c [Review] Mirai code: rename CodableMessage.appendAsMiraiCode to appendMiraiCodeTo 2021-01-07 21:05:36 +08:00
Him188
d4852ceb6f [Review] Add missing @MiraiExperimentalApi to appendMiraiCode 2021-01-07 20:53:29 +08:00
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
5b74f2a64e [Review] Move JavaFriendlyApi to Annotations.kt 2021-01-06 15:02:49 +08:00
Him188
dc449bdca9 [Review] Code cleanup 2021-01-06 14:59:20 +08:00
Him188
1215a56775 [Review] LowLevelApiAccessor:
- Rename method names, remove "_lowLevel"
- Add blocking bridges
2021-01-06 14:58:06 +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
sandtechnology
866df1b2e1
Fix empty marketFace name and failed to decode on PC (#817)
* Fix empty marketFace name and failing decoding on PC

* Fix build

Co-authored-by: Him188 <Him188@mamoe.net>
Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
2021-01-06 00:08:36 +08:00
Him188
1d24a810fe Unify image id 2021-01-05 23:28:34 +08:00
Him188
b7232182ae Ignore OnlinePush.PbPushTransMsg msgType=529, subtype=9. Fix #743 2021-01-05 23:00:26 +08:00
Him188
f00bb216b6 Support sending friend image to group, #307 2021-01-05 22:31:08 +08:00
Him188
ac03d405f9 Support sending group image to friend, #307 2021-01-05 22:31:08 +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
95e6ca4c7a Add BotOfflineEvent.reconnect, support auto-reconnect control.
AbstractBot.offlineListener is now MONITOR
2021-01-05 20:23:00 +08:00
Him188
44053ae85f Extract network logic to separate classes to speed up inspections 2021-01-05 18:16:20 +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
24a95201a0
Fix wrong mute packet decoding (#811) 2021-01-05 12:43:21 +08:00
Karlatemp
7edcf987ce
Fix TarsInput.skipField again 2021-01-05 00:18:08 +08:00
sandtechnology
2d5a37f220
Remove debug information in StrangerList.kt (#809)
* Remove debug information in StrangerList.kt

* Format
2021-01-04 20:13:06 +08:00
Karlatemp
fce2ac469e
Fix TarsInput.skipField 2021-01-03 23:49:51 +08:00
Karlatemp
1eecefd16e
Fix TarsDecoder
fix #762
2021-01-03 22:24:28 +08:00
Karlatemp
9c60961271
Fix display of At 2021-01-01 23:54:13 +08:00
Karlatemp
6bc67c7c48
Fix display of At 2021-01-01 23:51:24 +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
901c8b5267 Fix image upload, close #797 2021-01-01 17:07:39 +08:00
Him188
77a0fb4c34 Fix NormalMember.toString 2021-01-01 15:55:19 +08:00
Him188
1a1c15d0d3 Fix potential memory leak on login 2020-12-31 23:50:16 +08:00
Him188
31a5957509 Fix potential memory leak on login 2020-12-31 23:49:12 +08:00
Him188
c9cc29d1d4 Fix JavaApiTest 2020-12-31 21:00:49 +08:00
Him188
c82eb29769 MarketFace should not implement CodableMessage 2020-12-31 17:33:31 +08:00
Karlatemp
7a9557dab7
Fix MessageChain.fragmented 2020-12-30 22:17:44 +08:00
Karlatemp
e9e9a12137
Improve LoginSolver
fix project-mirai/mirai-login-solver-selenium#4
2020-12-30 18:22:57 +08:00
Karlatemp
dca1eab5a5
Improve voice upload 2020-12-28 17:44:19 +08:00
Him188
9347d6baf6 Fix voice upload, fix #782 2020-12-28 16:39:30 +08:00
Him188
d8228c523e Fix voice transform 2020-12-28 16:03:17 +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
0198e3363a 2.0-M2-dev-13 2020-12-27 23:57:12 +08:00
Him188
42f824d516 Integrate Voice APIs with ExternalResource 2020-12-27 23:31:04 +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
392d62142b Fix tests 2020-12-27 20:36:11 +08:00
Him188
7fe0eb23b6 Improve logs 2020-12-27 18:51:26 +08:00
Him188
e38fb5c1d0 Improve logging on login and init failure 2020-12-27 18:44:57 +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
1152fe9357 Print more details on Friend.checkIsFriendImpl and FriendInfo.checkIsInfoImpl 2020-12-27 15:13:08 +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
96c7b51094 Check passwordMd5 on BotAccount init 2020-12-27 14:24:13 +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
d4a8573772 SMS login part 2020-12-26 22:16:36 +08:00
Him188
822c3049c2 Fix package 2020-12-26 22:16:27 +08:00
Him188
ade169253b Fix package 2020-12-26 20:50:49 +08:00
Him188
6ee8305566 Fix build 2020-12-26 20:32:16 +08:00
Him188
4404af3071 Merge remote-tracking branch 'origin/dev' into dev 2020-12-26 20:06:26 +08:00
Him188
73954130f8 Move utilities to mirai-core-utils 2020-12-26 20:05:10 +08:00
Karlatemp
f93813c34e
Fix message limit 2020-12-26 18:44:52 +08:00
Him188
bda4cee0ed Move utilities to mirai-core-utils 2020-12-26 17:45:30 +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
Him188
c3bbabc274 Use mirai-login-solver-selenium in jvmTest 2020-12-26 17:34:16 +08:00
Him188
53cb76f2cd Merge remote-tracking branch 'origin/dev' into dev 2020-12-26 16:56:35 +08:00
Him188
5ba10aed31 Fix PbGetMsg, fix #766 2020-12-26 16:56:19 +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
Him188
da7abc5bf6 Login to default servers randomly 2020-12-25 22:37:39 +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
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
sandtechnology
6219b041a9 Add LICENSE 2020-12-25 11:13:12 +08:00
sandtechnology
e5ed1b8c3a Support decode SvcRespRegister 2020-12-25 11:08:38 +08:00
Him188
39cda54a71 Fix build 2020-12-24 23:59:57 +08:00
Him188
3ce6f092a1 Support OtherClient list sync after login, support deviceName 2020-12-24 23:37:52 +08:00
Him188
ad8ffa6cd4 Internal optimizations: simplify RequestPacket and jce struct sending 2020-12-24 17:46:41 +08:00
Him188
2a7e9fb617 Internal optimizations: move transformers to top-level to reduce intents and simplify code 2020-12-24 14:07:24 +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
bef91ea9d0 Support syncing message sent from other clients, close #644 2020-12-24 13:05:17 +08:00
Him188
d3be13b6e6 Fix package name 2020-12-24 12:06:20 +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
Karlatemp
dffade2a92
Don't relogin bot when bot logging in 2020-12-24 00:14:17 +08:00
Him188
7446453e8e HummerResv12 2020-12-23 22:56:10 +08:00
Him188
81ef2d4195 Merge remote-tracking branch 'origin/dev' into dev 2020-12-23 22:46:43 +08:00
Him188
f613b7f7b7 Support other client messages:
- Add OtherClientMessageEvent
2020-12-23 22:46:10 +08:00
Karlatemp
33ab43f222
Merge pull request #758 from sandtechnology/Update-packet
Update outdated packet value
2020-12-23 22:10:27 +08:00
sandtechnology
f4d2fc3ac6 Update outdated packet value 2020-12-23 21:23:28 +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
960b67f829 Move FriendImpl.uploadImage implementation to AbstractUser.uploadImage, simplify MemberImpl 2020-12-23 19:55:27 +08:00
Him188
db9ee62250 Add AbstractContact and AbstractUser for future inheritance 2020-12-23 19:49:04 +08:00
Him188
d7bddc77ed
Merge pull request #749 from sandtechnology/Fix-login
Fix protocol error again, thanks to @wdvxdr1123 and MiraiGo
2020-12-22 11:14:20 +08:00
Karlatemp
27030d150e
login result type: 239, fix #744 2020-12-21 23:33:09 +08:00
sandtechnology
5a7771012b Fix protocol error again, thanks to @wdvxdr1123 and MiraiGo 2020-12-21 22:45:56 +08:00
Karlatemp
2b041f64f8
Merge branch 'anonymous' into dev, close #432 2020-12-21 13:05:08 +08:00
Karlatemp
62f605eb35
Fix voice missing 2020-12-21 13:00:10 +08:00
Karlatemp
2aacfe4064
Merge remote-tracking branch 'origin/dev' into dev 2020-12-21 12:51:51 +08:00
Karlatemp
3d09b8f911
Support long message in private message, close #171 2020-12-21 12:50:41 +08:00
sandtechnology
23114b7e81
Support New QQ System Faces (#720)
* Update QQ original faces name

* Add missed channel check

* Change data struct to array

* Revert "Add missed channel check"

This reverts commit e30f97dc

* Remove author

* Make internal

* Update Face implement

* Support decode and encode new system faces

* Correct the magic number

* Lazy name val

* Fix naming inconsistent

* Revert "Fix naming inconsistent"

This reverts commit b7db927f

* Fix naming inconsistent again
2020-12-20 20:59:34 +08:00
sandtechnology
a097e494ef
Fix Sub8A (#742)
* Fix Sub8A

* Fix error
2020-12-20 20:58:53 +08:00
Karlatemp
b2c0f8a13a
Don't @AnonymousMember in QuoteReply 2020-12-20 16:45:17 +08:00
Karlatemp
fc9a4e73d3
Improve message logging 2020-12-20 16:28:30 +08:00