Skip to content

Commit 815f4bd

Browse files
committed
feat: 更新消息按钮结构,简化InlineKeyboardButton的使用并优化消息发送参数
1 parent 29a2d32 commit 815f4bd

File tree

4 files changed

+35
-61
lines changed

4 files changed

+35
-61
lines changed

layout/buf.lock

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
version: v2
33
deps:
44
- name: buf.build/bufbuild/protovalidate
5-
commit: 63bb56e204954558946a641ef0d68910
6-
digest: b5:ec5661b2855484eca2043fe61d27eb22673ab926ccd0e849531752eb17b08402fae1382705cee7f7b42d4d9ec56aff72bba7ec6835902cf6f86323c9ac682d16
5+
commit: d39267d9df8f4053bbac6b956a23169f
6+
digest: b5:c2542c2e9935dd9a7f12ef79f76aa5b53cf1c8312d720da54e03953f27ad952e2b439cbced06e3b4069e466bd9b64019cf9f687243ad51aa5dc2b5f364fac71e
77
- name: buf.build/googleapis/googleapis
88
commit: 546238c53f7340c6a2a6099fb863bc1b
99
digest: b5:e017bbf31a3f912e2b969c03c3aa711f466cfe104f510865d1a8ede1be490240aabd4cca5865459a0f15222747284395f98afc094b0fd086e8917a5a7bdd9db0

layout/go.mod

+1-4
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ require (
3030
filippo.io/edwards25519 v1.1.0 // indirect
3131
github.com/BurntSushi/toml v1.4.0 // indirect
3232
github.com/KyleBanks/depth v1.2.1 // indirect
33+
github.com/TBXark/jsoncompressor v0.0.0-20250220090015-07c767467512 // indirect
3334
github.com/agext/levenshtein v1.2.1 // indirect
3435
github.com/alex-ant/gomath v0.0.0-20160516115720-89013a210a82 // indirect
3536
github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect
@@ -60,7 +61,6 @@ require (
6061
github.com/golang-jwt/jwt/v5 v5.2.1 // indirect
6162
github.com/golang/protobuf v1.5.4 // indirect
6263
github.com/google/go-cmp v0.6.0 // indirect
63-
github.com/google/subcommands v1.2.0 // indirect
6464
github.com/google/uuid v1.6.0 // indirect
6565
github.com/hashicorp/hcl/v2 v2.13.0 // indirect
6666
github.com/inconshreveable/mousetrap v1.1.0 // indirect
@@ -71,15 +71,12 @@ require (
7171
github.com/leodido/go-urn v1.4.0 // indirect
7272
github.com/mailru/easyjson v0.9.0 // indirect
7373
github.com/mattn/go-isatty v0.0.20 // indirect
74-
github.com/mattn/go-runewidth v0.0.9 // indirect
7574
github.com/mitchellh/go-wordwrap v0.0.0-20150314170334-ad45545899c7 // indirect
7675
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
7776
github.com/modern-go/reflect2 v1.0.2 // indirect
7877
github.com/ncruces/go-strftime v0.1.9 // indirect
79-
github.com/olekukonko/tablewriter v0.0.5 // indirect
8078
github.com/patrickmn/go-cache v2.1.0+incompatible // indirect
8179
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
82-
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
8380
github.com/qiniu/go-sdk/v7 v7.25.2 // indirect
8481
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
8582
github.com/spf13/pflag v1.0.6 // indirect

layout/go.sum

+6-24
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,14 @@ github.com/KyleBanks/depth v1.2.1 h1:5h8fQADFrWtarTdtDudMmGsC7GPbOAu6RVB3ffsVFHc
1313
github.com/KyleBanks/depth v1.2.1/go.mod h1:jzSb9d0L43HxTQfT+oSA1EEp2q+ne2uh6XgeJcm8brE=
1414
github.com/TBXark/confstore v0.0.0-20250213133642-966f3d3fb351 h1:IXml5XiUSzU/uMEHNusc1LWuCs54OsSkIqPILvdLPpk=
1515
github.com/TBXark/confstore v0.0.0-20250213133642-966f3d3fb351/go.mod h1:TOxM19Snt9wT02PJzyz66sgq7sWhr4AFzPEZIKvVnTE=
16-
github.com/TBXark/sphere/contrib/json-gen-proto v0.0.0-20250218102724-7c0e6450359f h1:QCpA/EF50FCYIsMPp33lHqEctThMlfUK8x4lg8phJM4=
17-
github.com/TBXark/sphere/contrib/json-gen-proto v0.0.0-20250218102724-7c0e6450359f/go.mod h1:HueNXO16ruwOyRkRexKr07P3IkMhnt1X2uypmEaV3Hs=
16+
github.com/TBXark/jsoncompressor v0.0.0-20250220090015-07c767467512 h1:0BdDMaNz7tL8LiWd+GT0RG+RpLSb/N1a0v8vTCM+4J8=
17+
github.com/TBXark/jsoncompressor v0.0.0-20250220090015-07c767467512/go.mod h1:Le17YSrfvfVgsIlzJpjc7zvxwtzTwshAguHcrQqJY/E=
1818
github.com/TBXark/sphere/contrib/json-gen-proto v0.0.0-20250220092258-cd61b708e243 h1:diu7bwwkJ9htpdDP69ufwFgKXM8TBeeum+hTzPv9xbQ=
1919
github.com/TBXark/sphere/contrib/json-gen-proto v0.0.0-20250220092258-cd61b708e243/go.mod h1:HueNXO16ruwOyRkRexKr07P3IkMhnt1X2uypmEaV3Hs=
2020
github.com/agext/levenshtein v1.2.1 h1:QmvMAjj2aEICytGiWzmxoE0x2KZvE0fvmqMOfy2tjT8=
2121
github.com/agext/levenshtein v1.2.1/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558=
2222
github.com/alex-ant/gomath v0.0.0-20160516115720-89013a210a82 h1:7dONQ3WNZ1zy960TmkxJPuwoolZwL7xKtpcM04MBnt4=
2323
github.com/alex-ant/gomath v0.0.0-20160516115720-89013a210a82/go.mod h1:nLnM0KdK1CmygvjpDUO6m1TjSsiQtL61juhNsvV/JVI=
24-
github.com/alitto/pond/v2 v2.1.6 h1:6U3nSOjxpuNyvjIKjjRkpS2JDdgX5JqBm9GO2urcCjM=
25-
github.com/alitto/pond/v2 v2.1.6/go.mod h1:xkjYEgQ05RSpWdfSd1nM3OVv7TBhLdy7rMp3+2Nq+yE=
2624
github.com/alitto/pond/v2 v2.2.0 h1:hX3B1Lu4b5PjSHR+IWNRDKD0Jfw2ew8V25J7Vu5j7RM=
2725
github.com/alitto/pond/v2 v2.2.0/go.mod h1:xkjYEgQ05RSpWdfSd1nM3OVv7TBhLdy7rMp3+2Nq+yE=
2826
github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw=
@@ -33,8 +31,6 @@ github.com/bmatcuk/doublestar v1.3.4 h1:gPypJ5xD31uhX6Tf54sDPUOBXTqKH4c9aPY66CyQ
3331
github.com/bmatcuk/doublestar v1.3.4/go.mod h1:wiQtGV+rzVYxB7WIlirSN++5HPtPlXEo9MEoZQC/PmE=
3432
github.com/bufbuild/protocompile v0.14.1 h1:iA73zAf/fyljNjQKwYzUHD6AD4R8KMasmwa/FBatYVw=
3533
github.com/bufbuild/protocompile v0.14.1/go.mod h1:ppVdAIhbr2H8asPk6k4pY7t9zB1OU5DoEw9xY/FUi1c=
36-
github.com/bytedance/sonic v1.12.8 h1:4xYRVRlXIgvSZ4e8iVTlMF5szgpXd4AfvuWgA8I8lgs=
37-
github.com/bytedance/sonic v1.12.8/go.mod h1:uVvFidNmlt9+wa31S1urfwwthTWteBgG0hWuoKAXTx8=
3834
github.com/bytedance/sonic v1.12.9 h1:Od1BvK55NnewtGaJsTDeAOSnLVO2BTSLOe0+ooKokmQ=
3935
github.com/bytedance/sonic v1.12.9/go.mod h1:uVvFidNmlt9+wa31S1urfwwthTWteBgG0hWuoKAXTx8=
4036
github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU=
@@ -92,8 +88,6 @@ github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91
9288
github.com/go-playground/validator/v10 v10.7.0/go.mod h1:xm76BBt941f7yWdGnI2DVPFFg1UK3YY04qifoXU3lOk=
9389
github.com/go-playground/validator/v10 v10.25.0 h1:5Dh7cjvzR7BRZadnsVOzPhWsrwUr0nmsZJxEAnFLNO8=
9490
github.com/go-playground/validator/v10 v10.25.0/go.mod h1:GGzBIJMuE98Ic/kJsBXbz1x/7cByt++cQ+YOuDM5wus=
95-
github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y=
96-
github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg=
9791
github.com/go-sql-driver/mysql v1.9.0 h1:Y0zIbQXhQKmQgTp44Y1dp3wTXcn804QoTptLZT1vtvo=
9892
github.com/go-sql-driver/mysql v1.9.0/go.mod h1:pDetrLJeA3oMujJuvXc8RJoasr589B6A9fwzD3QMrqw=
9993
github.com/go-telegram/bot v1.14.0 h1:qknBErnf5O1CTWZDdDK/qqV8f7wWTf98gFIVW42m6dk=
@@ -115,7 +109,6 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN
115109
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
116110
github.com/google/pprof v0.0.0-20240409012703-83162a5b38cd h1:gbpYu9NMq8jhDVbvlGkMFWCjLFlqqEZjEmObmhUy6Vo=
117111
github.com/google/pprof v0.0.0-20240409012703-83162a5b38cd/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw=
118-
github.com/google/subcommands v1.2.0 h1:vWQspBTo2nEqTUFita5/KeEWlUL8kQObDFbub/EN9oE=
119112
github.com/google/subcommands v1.2.0/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk=
120113
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
121114
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
@@ -158,8 +151,6 @@ github.com/mailru/easyjson v0.9.0 h1:PrnmzHw7262yW8sTBwxi1PdJA3Iw/EKBa8psRf7d9a4
158151
github.com/mailru/easyjson v0.9.0/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU=
159152
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
160153
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
161-
github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0=
162-
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
163154
github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y=
164155
github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
165156
github.com/mitchellh/go-wordwrap v0.0.0-20150314170334-ad45545899c7 h1:DpOJ2HYzCv8LZP15IdmG+YdwD2luVPHITV96TkirNBM=
@@ -171,8 +162,6 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G
171162
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
172163
github.com/ncruces/go-strftime v0.1.9 h1:bY0MQC28UADQmHmaF5dgpLmImcShSi2kHU9XLdhx/f4=
173164
github.com/ncruces/go-strftime v0.1.9/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls=
174-
github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec=
175-
github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY=
176165
github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc=
177166
github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=
178167
github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
@@ -196,8 +185,6 @@ github.com/samber/lo v1.49.1 h1:4BIFyVfuQSEpluc7Fua+j1NolZHiEHEpaSEKdsH0tew=
196185
github.com/samber/lo v1.49.1/go.mod h1:dO6KHFzUKXgP8LDhU0oI8d2hekjXnGOu0DB8Jecxd6o=
197186
github.com/sergi/go-diff v1.0.0 h1:Kpca3qRNrduNnOQeazBd0ysaKrUJiIuISHxogkT9RPQ=
198187
github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
199-
github.com/spf13/cobra v1.9.0 h1:Py5fIuq/lJsRYxcxfOtsJqpmwJWCMOUy2tMJYV8TNHE=
200-
github.com/spf13/cobra v1.9.0/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
201188
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
202189
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
203190
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
@@ -228,7 +215,6 @@ github.com/tidwall/gjson v1.18.0 h1:FIDeeyB800efLX89e5a8Y0BNH+LOngJyGrIWxG2FKQY=
228215
github.com/tidwall/gjson v1.18.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk=
229216
github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA=
230217
github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM=
231-
github.com/tidwall/pretty v1.2.0 h1:RWIZEg2iJ8/g6fDDYzMpobmaoGh5OLl4AXtGUGPcqCs=
232218
github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
233219
github.com/tidwall/pretty v1.2.1 h1:qjsOFOWWQl+N3RsoF5/ssm1pHmJJwhjlSbZ51I6wMl4=
234220
github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
@@ -258,8 +244,7 @@ golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliY
258244
golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg=
259245
golang.org/x/crypto v0.33.0 h1:IOBPskki6Lysi0lo9qQvbxiQ+FvsCC/YWOecCHAixus=
260246
golang.org/x/crypto v0.33.0/go.mod h1:bVdXmD7IV/4GdElGPozy6U7lWdRXA4qyRVGJV57uQ5M=
261-
golang.org/x/exp v0.0.0-20250210185358-939b2ce775ac h1:l5+whBCLH3iH2ZNHYLbAe58bo7yrN4mVcnkHDYz5vvs=
262-
golang.org/x/exp v0.0.0-20250210185358-939b2ce775ac/go.mod h1:hH+7mtFmImwwcMvScyxUhjuVHR3HGaDPMn9rMSUUbxo=
247+
golang.org/x/exp v0.0.0-20250218142911-aa4b98e5adaa h1:t2QcU6V556bFjYgu4L6C+6VrCPyJZ+eyRsABUPs1mz4=
263248
golang.org/x/exp v0.0.0-20250218142911-aa4b98e5adaa/go.mod h1:BHOTPb3L19zxehTsLoJXVaTktb06DFgmdW6Wb9s8jqk=
264249
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
265250
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
@@ -326,12 +311,10 @@ golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps
326311
golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY=
327312
golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY=
328313
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
329-
google.golang.org/genproto/googleapis/api v0.0.0-20250212204824-5a70512c5d8b h1:i+d0RZa8Hs2L/MuaOQYI+krthcxdEbEM2N+Tf3kJ4zk=
330-
google.golang.org/genproto/googleapis/api v0.0.0-20250212204824-5a70512c5d8b/go.mod h1:iYONQfRdizDB8JJBybql13nArx91jcUk7zCXEsOofM4=
331314
google.golang.org/genproto/googleapis/api v0.0.0-20250219182151-9fdb1cabc7b2 h1:35ZFtrCgaAjF7AFAK0+lRSf+4AyYnWRbH7og13p7rZ4=
332315
google.golang.org/genproto/googleapis/api v0.0.0-20250219182151-9fdb1cabc7b2/go.mod h1:W9ynFDP/shebLB1Hl/ESTOap2jHd6pmLXPNZC7SVDbA=
333-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250124145028-65684f501c47 h1:91mG8dNTpkC0uChJUQ9zCiRqx3GEEFOWaRZ0mI6Oj2I=
334-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250124145028-65684f501c47/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50=
316+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250212204824-5a70512c5d8b h1:FQtJ1MxbXoIIrZHZ33M+w5+dAP9o86rgpjoKr/ZmT7k=
317+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250212204824-5a70512c5d8b/go.mod h1:8BS3B93F/U1juMFq9+EDk+qOT5CO1R9IzXxG3PTqiRk=
335318
google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E=
336319
google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA=
337320
google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM=
@@ -367,8 +350,7 @@ modernc.org/opt v0.1.4 h1:2kNGMRiUjrp4LcaPuLY2PzUfqM/w9N23quVwhKt5Qm8=
367350
modernc.org/opt v0.1.4/go.mod h1:03fq9lsNfvkYSfxrfUhZCWPk1lm4cq4N+Bh//bEtgns=
368351
modernc.org/sortutil v1.2.1 h1:+xyoGf15mM3NMlPDnFqrteY07klSFxLElE2PVuWIJ7w=
369352
modernc.org/sortutil v1.2.1/go.mod h1:7ZI3a3REbai7gzCLcotuw9AC4VZVpYMjDzETGsSMqJE=
370-
modernc.org/sqlite v1.34.5 h1:Bb6SR13/fjp15jt70CL4f18JIN7p7dnMExd+UFnF15g=
371-
modernc.org/sqlite v1.34.5/go.mod h1:YLuNmX9NKs8wRNK2ko1LW1NGYcc9FkBO69JOt1AR9JE=
353+
modernc.org/sqlite v1.35.0 h1:yQps4fegMnZFdphtzlfQTCNBWtS0CZv48pRpW3RFHRw=
372354
modernc.org/sqlite v1.35.0/go.mod h1:9cr2sicr7jIaWTBKQmAxQLfBv9LL0su4ZTEV+utt3ic=
373355
modernc.org/strutil v1.2.1 h1:UneZBkQA+DX2Rp35KcM69cSsNES9ly8mQWD71HKlOA0=
374356
modernc.org/strutil v1.2.1/go.mod h1:EHkiggD70koQxjVdSBM3JKM7k6L0FbGE5eymy9i3B9A=

telegram/message.go

+26-31
Original file line numberDiff line numberDiff line change
@@ -5,42 +5,27 @@ import (
55
"github.com/go-telegram/bot/models"
66
)
77

8-
type Button struct {
9-
Text string
10-
Type string
11-
CallbackData string
12-
}
8+
type Button = models.InlineKeyboardButton
139

14-
func NewButton[T any](text, dType string, data T) Button {
10+
func NewButton[T any](text, route string, data T) Button {
1511
return Button{
1612
Text: text,
17-
Type: dType,
18-
CallbackData: MarshalData(dType, data),
13+
CallbackData: MarshalData(route, data),
14+
}
15+
}
16+
17+
func NewURLButton(text, url string) Button {
18+
return Button{
19+
Text: text,
20+
URL: url,
1921
}
2022
}
2123

2224
type Message struct {
2325
Text string
2426
Media models.InputFile
2527
ParseMode models.ParseMode
26-
Button [][]Button
27-
}
28-
29-
func (m *Message) toInlineKeyboardMarkup() *models.InlineKeyboardMarkup {
30-
keyboard := make([][]models.InlineKeyboardButton, 0, len(m.Button))
31-
for _, row := range m.Button {
32-
buttons := make([]models.InlineKeyboardButton, 0, len(row))
33-
for _, btn := range row {
34-
buttons = append(buttons, models.InlineKeyboardButton{
35-
Text: btn.Text,
36-
CallbackData: btn.CallbackData,
37-
})
38-
}
39-
keyboard = append(keyboard, buttons)
40-
}
41-
return &models.InlineKeyboardMarkup{
42-
InlineKeyboard: keyboard,
43-
}
28+
Button [][]models.InlineKeyboardButton
4429
}
4530

4631
func (m *Message) toSendMessageParams(chatID int64) *bot.SendMessageParams {
@@ -50,7 +35,9 @@ func (m *Message) toSendMessageParams(chatID int64) *bot.SendMessageParams {
5035
ParseMode: m.ParseMode,
5136
}
5237
if len(m.Button) > 0 {
53-
params.ReplyMarkup = m.toInlineKeyboardMarkup()
38+
params.ReplyMarkup = &models.InlineKeyboardMarkup{
39+
InlineKeyboard: m.Button,
40+
}
5441
}
5542
return params
5643
}
@@ -63,7 +50,9 @@ func (m *Message) toSendPhotoParams(chatID int64) *bot.SendPhotoParams {
6350
Photo: m.Media,
6451
}
6552
if len(m.Button) > 0 {
66-
params.ReplyMarkup = m.toInlineKeyboardMarkup()
53+
params.ReplyMarkup = &models.InlineKeyboardMarkup{
54+
InlineKeyboard: m.Button,
55+
}
6756
}
6857
return params
6958
}
@@ -76,7 +65,9 @@ func (m *Message) toEditMessageTextParams(chatID int64, messageID int) *bot.Edit
7665
ParseMode: m.ParseMode,
7766
}
7867
if len(m.Button) > 0 {
79-
params.ReplyMarkup = m.toInlineKeyboardMarkup()
68+
params.ReplyMarkup = &models.InlineKeyboardMarkup{
69+
InlineKeyboard: m.Button,
70+
}
8071
}
8172
return params
8273
}
@@ -88,7 +79,9 @@ func (m *Message) toEditMessageCaptionParams(chatID int64, messageID int) *bot.E
8879
Caption: m.Text,
8980
}
9081
if len(m.Button) > 0 {
91-
params.ReplyMarkup = m.toInlineKeyboardMarkup()
82+
params.ReplyMarkup = &models.InlineKeyboardMarkup{
83+
InlineKeyboard: m.Button,
84+
}
9285
}
9386
return params
9487
}
@@ -112,7 +105,9 @@ func (m *Message) toEditMessageMediaParams(chatID int64, messageID int) *bot.Edi
112105
}
113106
params.Media = photo
114107
if len(m.Button) > 0 {
115-
params.ReplyMarkup = m.toInlineKeyboardMarkup()
108+
params.ReplyMarkup = &models.InlineKeyboardMarkup{
109+
InlineKeyboard: m.Button,
110+
}
116111
}
117112
return params
118113
}

0 commit comments

Comments
 (0)