@@ -377,7 +377,7 @@ public sealed class CardElement {
377
377
@SerialName(Image .TYPE )
378
378
public data class Image @JvmOverloads constructor(
379
379
public val src : String ,
380
- public val alt : String ,
380
+ public val alt : String = " " ,
381
381
public val size : Size = Size .Default ,
382
382
public val circle : Boolean = false
383
383
) : CardElement() {
@@ -453,7 +453,7 @@ public sealed class CardElement {
453
453
@SerialName(Paragraph .TYPE )
454
454
public data class Paragraph (
455
455
public val cols : Int ,
456
- public val fields : List <Text >
456
+ public val fields : List <Text > = emptyList()
457
457
) : CardElement() {
458
458
init {
459
459
require(cols in 1 .. 3 ) { " Cols must in 1..3, but $cols " }
@@ -625,8 +625,10 @@ public sealed class CardModule {
625
625
*/
626
626
@Serializable
627
627
@SerialName(ImageGroup .TYPE )
628
- public data class ImageGroup (@Serializable(CardImageListWithTypeSerializer ::class ) public val elements : List <CardElement .Image >) :
629
- CardModule () {
628
+ public data class ImageGroup (
629
+ @Serializable(CardImageListWithTypeSerializer ::class )
630
+ public val elements : List <CardElement .Image >
631
+ ) : CardModule() {
630
632
init {
631
633
require(elements.size in 1 .. 9 ) { " The size of elements must be 1..9, but ${elements.size} " }
632
634
}
@@ -659,8 +661,10 @@ public sealed class CardModule {
659
661
*/
660
662
@Serializable
661
663
@SerialName(Container .TYPE )
662
- public data class Container (@Serializable(CardImageListWithTypeSerializer ::class ) public val elements : List <CardElement .Image >) :
663
- CardModule () {
664
+ public data class Container (
665
+ @Serializable(CardImageListWithTypeSerializer ::class )
666
+ public val elements : List <CardElement .Image >
667
+ ) : CardModule() {
664
668
init {
665
669
require(elements.size in 1 .. 9 ) { " The size of elements must be 1..9, but ${elements.size} " }
666
670
}
@@ -693,8 +697,10 @@ public sealed class CardModule {
693
697
*/
694
698
@Serializable
695
699
@SerialName(ActionGroup .TYPE )
696
- public data class ActionGroup (@Serializable(CardButtonListWithTypeSerializer ::class ) public val elements : List <CardElement .Button >) :
697
- CardModule () {
700
+ public data class ActionGroup (
701
+ @Serializable(CardButtonListWithTypeSerializer ::class )
702
+ public val elements : List <CardElement .Button > = emptyList()
703
+ ) : CardModule() {
698
704
init {
699
705
require(elements.size <= 4 ) { " The size of elements must be <= 4, but ${elements.size} " }
700
706
}
@@ -789,23 +795,35 @@ public sealed class CardModule {
789
795
*/
790
796
@Serializable
791
797
@SerialName(FILE_TYPE )
792
- public data class File (override val src : String , override val title : String , override val cover : String ) :
798
+ public data class File (
799
+ override val src : String = " " ,
800
+ override val title : String = " " ,
801
+ override val cover : String = " "
802
+ ) :
793
803
Files ()
794
804
795
805
/* *
796
806
* 音频。
797
807
*/
798
808
@Serializable
799
809
@SerialName(AUDIO_TYPE )
800
- public data class Audio (override val src : String , override val title : String , override val cover : String ) :
810
+ public data class Audio (
811
+ override val src : String = " " ,
812
+ override val title : String = " " ,
813
+ override val cover : String = " "
814
+ ) :
801
815
Files ()
802
816
803
817
/* *
804
818
* 视频。
805
819
*/
806
820
@Serializable
807
821
@SerialName(VIDEO_TYPE )
808
- public data class Video (override val src : String , override val title : String , override val cover : String ) :
822
+ public data class Video (
823
+ override val src : String = " " ,
824
+ override val title : String = " " ,
825
+ override val cover : String = " "
826
+ ) :
809
827
Files ()
810
828
811
829
public companion object {
@@ -814,13 +832,16 @@ public sealed class CardModule {
814
832
public const val VIDEO_TYPE : String = " video"
815
833
816
834
@JvmStatic
817
- public fun file (src : String , title : String , cover : String ): File = File (src, title, cover)
835
+ @JvmOverloads
836
+ public fun file (src : String , title : String , cover : String = ""): File = File (src, title, cover)
818
837
819
838
@JvmStatic
820
- public fun audio (src : String , title : String , cover : String ): Audio = Audio (src, title, cover)
839
+ @JvmOverloads
840
+ public fun audio (src : String , title : String , cover : String = ""): Audio = Audio (src, title, cover)
821
841
822
842
@JvmStatic
823
- public fun video (src : String , title : String , cover : String ): Video = Video (src, title, cover)
843
+ @JvmOverloads
844
+ public fun video (src : String , title : String , cover : String = ""): Video = Video (src, title, cover)
824
845
825
846
}
826
847
}
@@ -853,8 +874,10 @@ public sealed class CardModule {
853
874
public val endTime : Long
854
875
) : CardModule() {
855
876
init {
856
- require(mode == CountdownMode .SECOND && startTime != null ) {
857
- " When mode is 'SECOND', 'startTime' must not be null."
877
+ if (mode == CountdownMode .SECOND ) {
878
+ requireNotNull(startTime) {
879
+ " When mode is 'SECOND', 'startTime' must not be null."
880
+ }
858
881
}
859
882
}
860
883
@@ -898,7 +921,7 @@ public sealed class CardModule {
898
921
public val code : String
899
922
) : CardModule() {
900
923
public companion object {
901
- public const val TYPE : String = " "
924
+ public const val TYPE : String = " invite "
902
925
}
903
926
}
904
927
0 commit comments