mirror of
https://github.com/ChuckNorrison/LightningTipBot.git
synced 2026-08-13 12:33:14 +02:00
sse
This commit is contained in:
parent
ac9cc644eb
commit
cb02fd557f
4 changed files with 54 additions and 34 deletions
|
|
@ -321,7 +321,6 @@ func (bot TipBot) getHandler() []InterceptionWrapper {
|
|||
Endpoints: []interface{}{"/tipjar", "/spendendose"},
|
||||
Handler: bot.tipjarHandler,
|
||||
Interceptor: &Interceptor{
|
||||
|
||||
Before: []intercept.Func{
|
||||
bot.localizerInterceptor,
|
||||
bot.logMessageInterceptor,
|
||||
|
|
@ -337,7 +336,6 @@ func (bot TipBot) getHandler() []InterceptionWrapper {
|
|||
Endpoints: []interface{}{"/help", &btnHelpMainMenu},
|
||||
Handler: bot.helpHandler,
|
||||
Interceptor: &Interceptor{
|
||||
|
||||
Before: []intercept.Func{
|
||||
bot.localizerInterceptor,
|
||||
bot.logMessageInterceptor,
|
||||
|
|
@ -385,8 +383,8 @@ func (bot TipBot) getHandler() []InterceptionWrapper {
|
|||
Endpoints: []interface{}{"/advanced"},
|
||||
Handler: bot.advancedHelpHandler,
|
||||
Interceptor: &Interceptor{
|
||||
|
||||
Before: []intercept.Func{
|
||||
bot.requirePrivateChatInterceptor,
|
||||
bot.localizerInterceptor,
|
||||
bot.logMessageInterceptor,
|
||||
bot.requireUserInterceptor,
|
||||
|
|
@ -401,8 +399,24 @@ func (bot TipBot) getHandler() []InterceptionWrapper {
|
|||
Endpoints: []interface{}{"/link"},
|
||||
Handler: bot.lndhubHandler,
|
||||
Interceptor: &Interceptor{
|
||||
|
||||
Before: []intercept.Func{
|
||||
bot.requirePrivateChatInterceptor,
|
||||
bot.localizerInterceptor,
|
||||
bot.logMessageInterceptor,
|
||||
bot.requireUserInterceptor,
|
||||
bot.lockInterceptor,
|
||||
},
|
||||
OnDefer: []intercept.Func{
|
||||
bot.unlockInterceptor,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Endpoints: []interface{}{"/api"},
|
||||
Handler: bot.apiHandler,
|
||||
Interceptor: &Interceptor{
|
||||
Before: []intercept.Func{
|
||||
bot.requirePrivateChatInterceptor,
|
||||
bot.localizerInterceptor,
|
||||
bot.logMessageInterceptor,
|
||||
bot.requireUserInterceptor,
|
||||
|
|
@ -417,8 +431,8 @@ func (bot TipBot) getHandler() []InterceptionWrapper {
|
|||
Endpoints: []interface{}{"/lnurl"},
|
||||
Handler: bot.lnurlHandler,
|
||||
Interceptor: &Interceptor{
|
||||
|
||||
Before: []intercept.Func{
|
||||
bot.requirePrivateChatInterceptor,
|
||||
bot.localizerInterceptor,
|
||||
bot.logMessageInterceptor,
|
||||
bot.requireUserInterceptor,
|
||||
|
|
@ -434,7 +448,6 @@ func (bot TipBot) getHandler() []InterceptionWrapper {
|
|||
Endpoints: []interface{}{"/group"},
|
||||
Handler: bot.groupHandler,
|
||||
Interceptor: &Interceptor{
|
||||
|
||||
Before: []intercept.Func{
|
||||
bot.localizerInterceptor,
|
||||
bot.logMessageInterceptor,
|
||||
|
|
|
|||
|
|
@ -20,22 +20,9 @@ func (bot *TipBot) lndhubHandler(ctx intercept.Context) (intercept.Context, erro
|
|||
bot.trySendMessage(m.Sender, Translate(ctx, "couldNotLinkMessage"))
|
||||
return ctx, fmt.Errorf("invalid configuration")
|
||||
}
|
||||
// check and print all commands
|
||||
bot.anyTextHandler(ctx)
|
||||
// reply only in private message
|
||||
if m.Chat.Type != tb.ChatPrivate {
|
||||
// delete message
|
||||
bot.tryDeleteMessage(m)
|
||||
}
|
||||
// first check whether the user is initialized
|
||||
fromUser := LoadUser(ctx)
|
||||
bot.trySendMessage(m.Sender, Translate(ctx, "walletConnectMessage"))
|
||||
|
||||
// do not respond to banned users
|
||||
if bot.UserIsBanned(fromUser) {
|
||||
log.Warnln("[lndhubHandler] user is banned. not responding.")
|
||||
return ctx, fmt.Errorf("user is banned")
|
||||
}
|
||||
linkmsg := bot.trySendMessageEditable(m.Sender, Translate(ctx, "walletConnectMessage"))
|
||||
|
||||
lndhubUrl := fmt.Sprintf("lndhub://admin:%s@%slndhub/ext/", fromUser.Wallet.Adminkey, internal.Configuration.Lnbits.LnbitsPublicUrl)
|
||||
|
||||
|
|
@ -48,25 +35,24 @@ func (bot *TipBot) lndhubHandler(ctx intercept.Context) (intercept.Context, erro
|
|||
}
|
||||
|
||||
// send the link to the user
|
||||
linkmsg := bot.trySendMessage(m.Sender, &tb.Photo{File: tb.File{FileReader: bytes.NewReader(qr)}, Caption: fmt.Sprintf("`%s`", lndhubUrl)})
|
||||
|
||||
qrmsg := bot.trySendMessage(m.Sender, &tb.Photo{File: tb.File{FileReader: bytes.NewReader(qr)}, Caption: fmt.Sprintf("`%s`", lndhubUrl)})
|
||||
// auto delete
|
||||
go func() {
|
||||
time.Sleep(time.Second * 60)
|
||||
bot.tryDeleteMessage(linkmsg)
|
||||
bot.trySendMessage(m.Sender, Translate(ctx, "linkHiddenMessage"), tb.Silent)
|
||||
bot.tryDeleteMessage(qrmsg)
|
||||
bot.tryEditMessage(linkmsg, Translate(ctx, "linkHiddenMessage"), tb.Silent)
|
||||
}()
|
||||
// auto delete the message
|
||||
// NewMessage(linkmsg, WithDuration(time.Second*time.Duration(internal.Configuration.Telegram.MessageDisposeDuration), bot))
|
||||
return ctx, nil
|
||||
}
|
||||
|
||||
func (bot *TipBot) apiHandler(ctx intercept.Context) (intercept.Context, error) {
|
||||
m := ctx.Message()
|
||||
if internal.Configuration.Lnbits.LnbitsPublicUrl == "" {
|
||||
bot.trySendMessage(m.Sender, Translate(ctx, "couldNotLinkMessage"))
|
||||
return ctx, fmt.Errorf("invalid configuration")
|
||||
}
|
||||
// check and print all commands
|
||||
bot.anyTextHandler(ctx)
|
||||
fromUser := LoadUser(ctx)
|
||||
apimesg := bot.trySendMessageEditable(m.Sender, fmt.Sprintf(Translate(ctx, "apiConnectMessage"), fromUser.Wallet.Adminkey, fromUser.Wallet.Inkey))
|
||||
// auto delete
|
||||
go func() {
|
||||
time.Sleep(time.Second * 60)
|
||||
bot.tryEditMessage(apimesg, Translate(ctx, "apiHiddenMessage"))
|
||||
}()
|
||||
return ctx, nil
|
||||
}
|
||||
|
|
|
|||
|
|
@ -260,11 +260,22 @@ lnurlWithdrawSuccess = """✅ Abhebung angefordert."""
|
|||
|
||||
walletConnectMessage = """🔗 *Verbinde dein Wallet*
|
||||
|
||||
⚠️ Teile diese URL und den QR code mit niemandem! Jeder, der darauf Zugriff hat, hat auch Zugriff auf dein Konto.
|
||||
⚠️ Teile diese URL und den QR code mit niemandem! Jeder, der darauf Zugriff hat, hat auch Zugriff auf dein Konto. Nutze /api für deine API keys.
|
||||
|
||||
- *BlueWallet:* Drücke *New wallet*, *Import wallet*, *Scan or import a file*, und scanne den QR Code.
|
||||
- *Zeus:* Kopiere die URL unten, drücke *Add a new node*, *Import* (die URL), *Save Node Config*."""
|
||||
couldNotLinkMessage = """🚫 Konnte dein Wallet nicht verbinden. Bitte versuche es später noch einmal."""
|
||||
linkHiddenMessage = """🔍 Link versteckt. Gebe /link ein um ihn wieder zu sehen."""
|
||||
|
||||
# API
|
||||
|
||||
walletConnectMessage = """🔗 *Deine API Keys*
|
||||
|
||||
⚠️ Teile diese Key mit niemandem! Jeder, der darauf Zugriff hat, hat auch Zugriff auf dein Konto. Nutze /link um dein Wallet zu verbinden.
|
||||
|
||||
- *Admin key:* `%s`
|
||||
- *Invoice key:* `%s`"""
|
||||
apiHiddenMessage = """🔍 Keys versteckt. Gebe /api ein um sie wieder zu sehen."""
|
||||
|
||||
# FAUCET
|
||||
|
||||
|
|
|
|||
|
|
@ -264,13 +264,23 @@ lnurlWithdrawSuccess = """✅ Withdrawal requested."""
|
|||
|
||||
walletConnectMessage = """🔗 *Link your wallet*
|
||||
|
||||
⚠️ Never share the URL or the QR code with anyone or they will be able to access your funds.
|
||||
⚠️ Never share the URL or the QR code with anyone or they will be able to access your funds. Use /api for your API keys.
|
||||
|
||||
- *BlueWallet:* Press *New wallet*, *Import wallet*, *Scan or import a file*, and scan the QR code.
|
||||
- *Zeus:* Copy the URL below, press *Add a new node*, select *LNDHub* as Node interface, enter the URL, *Save Node Config*."""
|
||||
couldNotLinkMessage = """🚫 Couldn't link your wallet. Please try again later."""
|
||||
linkHiddenMessage = """🔍 Link hidden. Enter /link to see it again."""
|
||||
|
||||
# API
|
||||
|
||||
apiConnectMessage = """🔗 *Your API keys*
|
||||
|
||||
⚠️ Never share these keys with anyone or they will be able to access your funds. Use /link to link your wallet.
|
||||
|
||||
- *Admin key:* `%s`
|
||||
- *Invoice key:* `%s`"""
|
||||
apiHiddenMessage = """🔍 Keys hidden. Enter /api to see them again."""
|
||||
|
||||
# FAUCET
|
||||
|
||||
inlineQueryFaucetTitle = """🚰 Create a faucet."""
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue