Skip to main content

Reaction Handler

This command handles reactions for the compressed version of the giveaway package.

For more information about this particular version of the giveaway package, see this page.

Trigger

Type: Reaction
Additional options: Added + Removed Reactions

Configuration

See the giveaway package overview for more information about how to configure this command.

Code

{{$gEmoji:=`<:yag:277569741932068864>`}}

{{/*Code*/}}
{{ $data:=sdict}}

{{$compareEmoji:=.Reaction.Emoji.Name}}
{{with reFindAllSubmatches `(\d+)>\z` $gEmoji}}{{$gEmoji =index . 0 1}}{{$compareEmoji =str $.Reaction.Emoji.ID}}{{end}}

{{if and (eq $compareEmoji $gEmoji) (not .User.Bot)}}

{{with (dbGet 7777 "giveaway_active").Value}}{{$data =sdict .}}{{end}}
{{$giveawayData := $data.Get (joinStr "" .Reaction.ChannelID .Reaction.MessageID)}}

{{if $giveawayData}}
{{$giveawayData =sdict $giveawayData}}
{{$IDregex:=print .User.ID ","}}

{{if .ReactionAdded}}{{$amount:=1}}{{if reFind $IDregex $giveawayData.listID}}{{$giveawayData.Set "listID" (reReplace $IDregex $giveawayData.listID "")}}{{$amount =0}}{{end}}{{$giveawayData.Set "listID" (print $giveawayData.listID $IDregex)}}{{$giveawayData.Set "count" (add $giveawayData.count $amount)}}
{{else}}{{if reFind $IDregex $giveawayData.listID}}{{$giveawayData.Set "listID" (reReplace $IDregex $giveawayData.listID "")}}{{$giveawayData.Set "count" (add $giveawayData.count -1)}}{{end}}
{{end}}

{{$data.Set (joinStr "" .Reaction.ChannelID .Reaction.MessageID) $giveawayData}}{{dbSet 7777 "giveaway_active" $data}}

{{end}}
{{end}}

Author

This custom command was written by @Satty9361.