mirror of
https://github.com/ChuckNorrison/LightningTipBot.git
synced 2026-08-13 12:33:14 +02:00
error feedback
This commit is contained in:
parent
f19a6dd6cc
commit
e24490b05c
1 changed files with 16 additions and 9 deletions
|
|
@ -118,7 +118,7 @@ func (bot *TipBot) generateDalleImages(event Event) {
|
|||
// handle err
|
||||
if err != nil {
|
||||
log.Errorf("[NewHTTPClient] %v", err.Error())
|
||||
bot.dalleRefundUser(user)
|
||||
bot.dalleRefundUser(user, "")
|
||||
return
|
||||
}
|
||||
|
||||
|
|
@ -128,7 +128,7 @@ func (bot *TipBot) generateDalleImages(event Event) {
|
|||
task, err := dalleClient.Generate(ctx, invoiceEvent.CallbackData)
|
||||
if err != nil {
|
||||
log.Errorf("[Generate] %v", err.Error())
|
||||
bot.dalleRefundUser(user)
|
||||
bot.dalleRefundUser(user, "")
|
||||
return
|
||||
}
|
||||
// poll the task.ID until status is succeeded
|
||||
|
|
@ -139,12 +139,12 @@ func (bot *TipBot) generateDalleImages(event Event) {
|
|||
for {
|
||||
select {
|
||||
case <-ctx.Done():
|
||||
bot.dalleRefundUser(user)
|
||||
bot.dalleRefundUser(user, "")
|
||||
log.Errorf("[DALLE] ctx done")
|
||||
return
|
||||
// Got a timeout! fail with a timeout error
|
||||
case <-timeout:
|
||||
bot.dalleRefundUser(user)
|
||||
bot.dalleRefundUser(user, "Timeout. Please try again later.")
|
||||
log.Errorf("[DALLE] timeout")
|
||||
return
|
||||
// Got a tick, we should check on checkSomething()
|
||||
|
|
@ -153,11 +153,11 @@ func (bot *TipBot) generateDalleImages(event Event) {
|
|||
// handle err
|
||||
if err != nil {
|
||||
log.Errorf("[GetTask] %v", err.Error())
|
||||
bot.dalleRefundUser(user)
|
||||
bot.dalleRefundUser(user, "")
|
||||
return
|
||||
}
|
||||
if t.Status == dalle.StatusSucceeded {
|
||||
fmt.Printf("[DALLE] task succeeded for user %s", GetUserStr(user.Telegram))
|
||||
log.Infof("[DALLE] task succeeded for user %s", GetUserStr(user.Telegram))
|
||||
// download the first generated image
|
||||
for _, data := range t.Generations.Data {
|
||||
err = bot.downloadAndSendImages(ctx, dalleClient, data, invoiceEvent)
|
||||
|
|
@ -169,7 +169,7 @@ func (bot *TipBot) generateDalleImages(event Event) {
|
|||
|
||||
} else if t.Status == dalle.StatusRejected {
|
||||
log.Errorf("[DALLE] rejected: %s", t.ID)
|
||||
bot.dalleRefundUser(user)
|
||||
bot.dalleRefundUser(user, "Your prompt has been rejected by OpenAI. Do not use celebrity names, sexual expressions, or any other harmful content as prompt.")
|
||||
return
|
||||
}
|
||||
log.Debugf("[DALLE] pending for user %s", GetUserStr(user.Telegram))
|
||||
|
|
@ -203,7 +203,7 @@ func (bot *TipBot) downloadAndSendImages(ctx context.Context, dalleClient dalle.
|
|||
return nil
|
||||
}
|
||||
|
||||
func (bot *TipBot) dalleRefundUser(user *lnbits.User) error {
|
||||
func (bot *TipBot) dalleRefundUser(user *lnbits.User, message string) error {
|
||||
if user.Wallet == nil {
|
||||
return fmt.Errorf("user has no wallet")
|
||||
}
|
||||
|
|
@ -231,6 +231,13 @@ func (bot *TipBot) dalleRefundUser(user *lnbits.User) error {
|
|||
return err
|
||||
}
|
||||
log.Warnf("[DALLE] refunding user %s with %d sat", GetUserStr(user.Telegram), internal.Configuration.Generate.DallePrice)
|
||||
bot.trySendMessage(user.Telegram, "🚫 Something went wrong. You have been refunded.")
|
||||
|
||||
var err_reason string
|
||||
if len(message) > 0 {
|
||||
err_reason = message
|
||||
} else {
|
||||
err_reason = "Something went wrong."
|
||||
}
|
||||
bot.trySendMessage(user.Telegram, fmt.Sprintf("🚫 %s You have been refunded.", err_reason))
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue