Commit Graph

2273 Commits

Author SHA1 Message Date
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
Karlatemp
de3fd9d698
Merge remote-tracking branch 'origin/dev' into anonymous
# Conflicts:
#	mirai-core/src/commonMain/kotlin/message/incomingSourceImpl.kt
2020-12-20 15:53:06 +08:00
Karlatemp
7796fbf2d2
Fix duplicated GroupRecall broadcast in recall group message 2020-12-20 15:43:08 +08:00
Karlatemp
28249b317c
Support parsing fragmented message.
close #440
2020-12-20 15:40:25 +08:00
Karlatemp
c96e7b609e
Support anonymous in network 2020-12-20 09:56:42 +08:00
Karlatemp
c6bef602b5
AnonymousMember 2020-12-20 09:54:26 +08:00
Karlatemp
1083e5d625
Low level api for mute AnonymousMember 2020-12-20 09:51:23 +08:00
Him188
e3b553b4de Improve LoginSolver, close #703:
- Remove DefaultLoginSolver (originally experimental API)
- Add docs
- No default instance for Android platform
- LoginSolver.Default is nullable now (in case on Android platform)
- BotConfiguration.loginSolver is nullable now (meaning not provided by the user)
2020-12-20 09:19:52 +08:00
Him188
56e7d4de3d Fix MessageRecallEvent.FriendRecall.authorId, close #704; Add MessageRecallEvent.author 2020-12-20 08:42:34 +08:00
Him188
4474a86e59 Merge remote-tracking branch 'origin/dev' into dev 2020-12-20 08:22:21 +08:00
Him188
d51b268c15 Kill bot on returnCode <=-10000, fix #691 2020-12-20 08:21:50 +08:00
Him188
fcba657fa9
Merge pull request #724 from sandtechnology/update-nudge
Update nudge template id
2020-12-20 08:10:52 +08:00
Him188
279758f08f
Merge pull request #728 from sandtechnology/Fix-voice
Fix #577: voice compression
2020-12-20 08:10:14 +08:00
Karlatemp
0bb34ee05b
Merge remote-tracking branch 'origin/dev' into anonymous 2020-12-19 23:36:09 +08:00
Karlatemp
3252221308
fix protocol
Thanks Mrs4s/MiraiGo

fix #737
Maybe fix:#717
2020-12-19 21:42:21 +08:00
sandtechnology
ea113dd246 Fix #577 2020-12-19 01:45:19 +08:00
Him188
e762a23f00 Improve packet queue 2020-12-18 21:32:41 +08:00
Him188
4eb0c80f08 Merge remote-tracking branch 'origin/dev' into dev 2020-12-18 20:51:29 +08:00
Karlatemp
2340486db8
Re-design Member interfaces #725 2020-12-18 20:31:24 +08:00
Him188
a616991f3e Merge remote-tracking branch 'origin/dev' into dev 2020-12-18 20:12:58 +08:00
Him188
669b04b287 Add At.getDisplay 2020-12-18 19:56:39 +08:00
Karlatemp
b8b9b0afdc
ByteArray.encodeToBase64() 2020-12-18 18:52:02 +08:00
jihuayu
17a223d9ce
fix bkn calculate error.
close #671
2020-12-18 18:25:34 +08:00
Him188
82f24b736c Fix HMPP platform structure 2020-12-18 15:37:13 +08:00
sandtechnology
80e1b53b63 Update nudge template id 2020-12-18 13:14:10 +08:00
Him188
20b912bee7 Fix Bot init 2020-12-17 19:50:02 +08:00
Him188
95013a6ca2 Change Duration.asHumanReadable to Duration.toHumanReadableString for clearer semantics 2020-12-17 09:21:59 +08:00
Him188
6ccd20c377 Simplify platform structure, simplify network implementations 2020-12-17 09:18:25 +08:00
Him188
9c71a9c953 Change Bot to interface 2020-12-17 09:08:26 +08:00
Him188
9fc3bad9fe Common ssoVersion, thanks to @
wdvxdr1123 (for the previous commit)
2020-12-16 23:13:15 +08:00
Him188
c478f24db0 Update to 8.4.18 2020-12-16 22:57:37 +08:00
Him188
51c9bf5d2b Review MessageReceipt:
- Remove constructor parameter botAsMember
- Add extensions
2020-12-16 19:31:05 +08:00
Him188
6c0b6473ed Make Group.get, Bot.getFriend, Bot.getGroup return nullable. Add getOrFail for migration 2020-12-16 19:11:42 +08:00
Him188
07fc0cbf0a Migrate deprecated calls 2020-12-14 20:31:27 +08:00
Him188
c66eebfda4 Fix build 2020-12-14 20:30:41 +08:00
Him188
0662e48fd2 Use ConcurrentLinkedQueue instead of LockFreeLinkedList for ContactList 2020-12-14 19:46:56 +08:00
Him188
47b4c0f8c1 Remove At.display and defer it to message elems conversions 2020-12-14 19:46:10 +08:00
Him188
6ec0310b1a Introduce messageTarget for message elems conversions
Introduce messageTarget for message elems conversions

Introduce messageTarget for message elems conversions
2020-12-14 19:46:10 +08:00
Him188
895c8f6bb3 Add internal Group.uin shortcut for GroupImpl.uin, User.uin and Bot.uin for ContactOrBot.id for clearer logics 2020-12-14 12:51:42 +08:00
Karlatemp
d43cfd1e08
Improve messages logging 2020-12-13 12:10:53 +08:00
Karlatemp
0a5d3097f7
Correct format name of GroupImage 2020-12-13 11:39:54 +08:00
Karlatemp
f504dbd8f2
Move events in net.mamoe.mirai.message to net.mamoe.mirai.event.events, #699 2020-12-11 19:42:50 +08:00
Him188
f59fcf7d5d Message serialization 2020-12-11 15:52:10 +08:00
Him188
021aac1b56 Rename PokeMessage.type to PokeMessage.pokeType 2020-12-11 14:54:52 +08:00
Him188
288f325ca0 Review MessageKey and Messages:
- Add `Image.isGroupImage`, `Image.isFriendImage`
- Simplify `FlashImage`:
  - Remove `GroupFlashImage`, `FriendFlashImage`
  - Java-friendly factory functions and Kotlin-friendly top-level constructor-like functions
- Unify names of constants in `PokeMessage.Key`
- Make constants in VipFace `@JvmField`
- Review `Image`:
  - Make `AbstractImage` internal (`@MiraiInternalApi`)
  - Improve docs
  - Move top-level regexes to companion statics
- Make Nudge.sendNudge static
- Opt-in `net.mamoe.mirai.message.data.ExperimentalMessageKey`
2020-12-10 13:54:40 +08:00
Him188
7d5063653a Polymorphic message key, #693 2020-12-10 12:36:17 +08:00
Him188
970f51fbe1 Blocking bridges for contacts, MessageReceipt and Bot 2020-12-05 16:55:57 +08:00
Him188
db100d336f Change currentTimeSeconds from property to function 2020-12-05 16:40:34 +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
8e05d97315 Review MiraiLogger:
- Replace top-level `DefaultLogger` with
  - `MiraiLogger.create`, and
  - `MiraiLogger.setDefaultLoggerCreator`
- `MiraiLogger.Companion` is no longer `MiraiLogger`, moved to `MiraiLogger.TopLevel`
- Mark `PlatformLogger` as
an internal API

close #633
2020-12-04 22:27:26 +08:00
Him188
1cc40bd95d Don't use pool for sendPacket, #556 2020-12-04 12:46:19 +08:00
Him188
aa7bef113b Message serialization fundamentals #630, close #219 2020-12-03 14:18:49 +08:00
Him188
42a2814125 Ignore sync event, close #619 2020-12-02 16:48:38 +08:00
Him188
a7b1be99e5 Remove all functions and classes deprecated in 1.x, close #530 2020-12-02 13:20:46 +08:00
Him188
dc00c84820 Fix references 2020-12-02 11:29:58 +08:00
Him188
64bd63d7a0 Multiple MessageSource.id and MessageSource.internalId for split sources now, and split messages in the future. Close #618 2020-12-02 10:46:06 +08:00
Him188
8fdfe830fe Introduce new module mirai-core-utils 2020-12-02 09:25:25 +08:00
Karlatemp
d1bd88c001
Fix image extension. fix #635 2020-12-01 22:40:19 +08:00
Him188
46e3f42432 Change Contact classes into interfaces 2020-12-01 15:45:57 +08:00
Him188
97be9afeb9 Fix internals 2020-12-01 13:20:02 +08:00
Him188
ff9702a992 Simplify platform structure 2020-12-01 13:10:04 +08:00
Him188
3fb25a07ae Update versions 2020-12-01 13:02:45 +08:00
Him188
b55893ccb1 Simplify files 2020-12-01 12:38:02 +08:00
Him188
3910044490 Remove @SinceMirai 2020-12-01 12:30:13 +08:00
Him188
16c3e02521 Remove Context
Simplify BotFactory
2020-12-01 12:27:35 +08:00
Him188
eafca6d4ed Simplify platform structure: merge jvmMain into commonMain 2020-11-30 23:30:57 +08:00
Him188
641396224e Fix build 2020-11-22 14:45:03 +08:00
Him188
64b5251779 Move service to common resources 2020-11-22 14:33:18 +08:00
Him188
b8002d4b4d Hierarchical MPP:
- JDK in common target
- Disabled common compilations
- Android targets
- Kotlin 1.4.20
2020-11-22 14:25:49 +08:00
Him188
bbda068e78 Update buildscript 2020-11-22 11:57:47 +08:00
Karlatemp
525830739c
Fix ReusableInput resources releasing
fix #675
2020-11-14 12:06:47 +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
efdf68a553 Fix tests 2020-11-01 23:57:37 +08:00
Him188
17eeb56a76 Fix build 2020-11-01 23:48:26 +08:00
Him188
6391955459 Merge remote-tracking branch 'origin/dev' into dev 2020-11-01 15:16:33 +08:00
Him188
1e7aaaec48 Rearrange protocol implementations 2020-11-01 15:07:32 +08:00
AdoptOSS
fd5b0251d0
Use emptyList() as the default value of List<*> for ProtoBuf (#666) 2020-11-01 08:30:30 +08:00
Karlatemp
75f3f9de93
Review remark
- Change DeprecationLevel of FriendRemarkChangeEvent.newName to ERROR
- Simplify logic
2020-10-29 12:51:45 +08:00
Karlatemp
d1d5435e99
remark 2020-10-28 12:43:28 +08:00
Karlatemp
14e3ddf8d6
Remark support 2020-10-28 12:33:17 +08:00
Karlatemp
d3f6b3ce33
Merge branch 'remark' into dev
# Conflicts:
#	mirai-core/src/commonMain/kotlin/contact/FriendImpl.kt
2020-10-28 11:46:02 +08:00
AdoptOSS
bb3d039bf8
Simplify DeviceInfo (#655)
* Simplify DeviceInfo

* Place random string helper properly

* Make DeviceInfo::random java-friendly
2020-10-27 08:57:28 +08:00
Karlatemp
26fdf6b22d
Merge remote-tracking branch 'origin/dev' into 1.x
# Conflicts:
#	build.gradle.kts
#	mirai-core-api/src/commonMain/kotlin/event/events/bot.kt
#	mirai-core-api/src/commonMain/kotlin/event/events/friend.kt
2020-10-03 22:15:52 +08:00
Karlatemp
c1f609d0de
Nugde stability update 2020-10-03 22:12:49 +08:00
Him188
0477ed94e8 Fix tests 2020-10-03 13:47:36 +08:00
Him188
0d96ea53d0 Fix build 2020-10-03 13:44:19 +08:00
Him188
80722aaea7 Pretty buildscript 2020-10-03 13:35:05 +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
fb2f437a21 Merge remote-tracking branch 'origin/dev' into dev 2020-10-03 12:09:12 +08:00
Him188
32705d9920 Remove JvmBlockingBridge on Image.queryUrl 2020-10-03 12:08:57 +08:00
Karlatemp
e643988c87
Standard Captcha update (#543)
* Standard Captcha update

- Add icon
- Typo
- System tips

* Remove unnecessary message.

* Update WindowHelperJvm.kt
2020-09-28 13:29:45 +08:00
Him188
780598d6fa Add mirai-core-all 2020-09-22 18:56:27 +08:00
Karlatemp
ae6d6a8f9c
Fix BotJoinGroupEvent.Retrieve.toString() (#606) 2020-09-20 01:33:34 +08:00
Karlatemp
d860d6b328
Support friend remark 2020-09-19 21:39:41 +08:00
Him188
1b7252e8ef Update event README 2020-09-16 12:12:22 +08:00
Him188
1717501d85 Fix nudge 2020-09-16 09:44:05 +08:00
Him188
8a7f56f90b Redesign nudge 2020-09-15 22:42:28 +08:00
Him188
c21b28e160 Add SinceMirai for FriendNudgeEvent 2020-09-15 21:24:46 +08:00
sandtechnology
59f465f66b
Support Nudge (#600)
* Support Nudge message

* Delete duplicated code

* Renamed NudgeManager and using boolean return value in Nudge method

* Fix document and remove JvmSynthetic annotation

* Remove test code

* Add document for bot object

* use checkIsFriendImpl to instead cast operation

* Add a space between char and number

* Change the text of bot and member to reference

* Revert change in QQAndroidBotNetworkHandler

* Make debug log more clearly

* Support tracking chat target in FriendNudgeEvent

* Add LICENSE in NudgePacket.kt
2020-09-15 21:17:21 +08:00
Him188
140a851d46 Add SinceMirai for _lowLevelGetGroupHonorListData 2020-09-15 19:35:29 +08:00
Karlatemp
359c9cdc5f
Support Group Retrieve, fix #528 (#531)
* Support Group Retrieve, fix #528

* Code Review

- Fix unexpected member in owner changing event.
- Allocate group when changing the owner to the bot if group is missing.
2020-09-15 19:30:52 +08:00
Karlatemp
8d0fd96a22
Fix Ansi Pollution (#596) 2020-09-15 19:29:27 +08:00
Hieuzest
152709a0f1
Fix: add host for Voice.url (#584)
* Fix: add host for Voice.url

* Full return url for Voice
2020-09-15 19:29:16 +08:00
yyuueexxiinngg
1faccc72f3
Add low level api for getting group honor members list. (#501)
* Add low level api for getting group honor members list.

* Remove default value for level name, unifies serialize result typing in GroupHonorTypeSerializer

* Remove unnecessary commas

* Remove filed 'bkn' from GroupHonorListData to prevent potential credential leak

* _GetGroupHonorList support getting ACTIVE data

* Add @SinceMirai("1.3.0") annotation to GroupHonorInfo

* Add @JvmStatic annotation, rename GroupHonorType.fromInt to .deserializeFromInt and make it internal
2020-09-15 12:54:02 +08:00
Him188
19e8d8c6ed Fix group info, e.g. isMuteAll, isAllowMemberInvite. Close #286 2020-09-15 12:51:25 +08:00
Him188
db588f949f Add missing SinceMirai 2020-09-15 09:47:32 +08:00
Him188
4aeb23fe81 Introduce companion object for BotFactory 2020-09-15 09:47:01 +08:00
Him188
c4b76db4a1 Merge branch 'master' into dev 2020-09-08 12:10:32 +08:00
Him188
0388e1756f Merge remote-tracking branch 'origin/dev' into dev 2020-09-08 12:10:07 +08:00
Him188
557c933e61 Add JvmBlockingBridge for Image.queryUrl 2020-09-08 12:09:54 +08:00
Him188
dd051eb710
Merge pull request #505 from shenshaoming/master
change the way of device lock verify
2020-09-01 20:13:35 +08:00
Him188
89974923f8
Merge pull request #561 from sandtechnology/Fix#550
Fix #550: NoSuchElementException when concatenating an EmptyMessageChain with another
2020-09-01 20:09:28 +08:00
sandtechnology
208ecfc1b2 Fix #550 2020-09-01 12:41:11 +08:00