Kick Follow Counter
Shows Kick follow count (updated hourly)
| System | AWTRIX NG Scripts |
|---|---|
| Firmware | AWTRIX NG |
| Topic | Social |
| Built by | korrupt |
| File | omELPk0vkqsQ.ax · 4.5 KB |
| Icons | — |
| Published | 5 Aug 2026 |
| Downloads | 1 |
Shows current kick followers based 100% of blueforcers Instagram flow.
- self contained pixel icon
- Put your username in the settings and configure colour and other features,
omELPk0vkqsQ.ax
# @name Kick
# @desc Follower count of a Kick channel with customizable colors and effects
# @author Korrupt (Blueforcer orignal script)
# @version 1.2
# @config user text "Kick Channel" default="UserName" maxlen=32
# @config txt_color color "Text Color" default=#53FC18
# @config fx_name select "Effect" default=None options=None,Matrix,Plasma,ColorWaves,TwinklingStars,Fireworks,Ripple
# @config fx_speed slider "FX Speed" default=0.3 min=0.1 max=2.0 step=0.1
class Kick
var url, user, period
var count, label, full, err
var ticks, busy
var opts, px, fx_opts
def init()
self.user = store.get("user")
self.url = "https://kick.com/api/v1/channels/" + self.user
self.period = 3600 # once an hour
self.count = store.get("who") == self.user ? store.get("n") : nil
self.label = self.count == nil ? nil : self.human(self.count)
self.full = self.count == nil ? nil : str(self.count)
self.err = false
self.ticks = 0
self.busy = false
self.opts = {'headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)',
'Accept': 'application/json'},
'find': "\"followersCount\":", 'keep': 32}
# Settings map for background effect
self.fx_opts = {"speed": store.get("fx_speed")}
# Pixel array for Kick logo (8x8)
self.px = [0x53FC18, 0x53FC18, 0x53FC18, 0x000000, 0x000000, 0x53FC18, 0x53FC18, 0x53FC18,
0x53FC18, 0x53FC18, 0x53FC18, 0x000000, 0x53FC18, 0x53FC18, 0x53FC18, 0x000000,
0x53FC18, 0x53FC18, 0x53FC18, 0x53FC18, 0x53FC18, 0x53FC18, 0x000000, 0x000000,
0x53FC18, 0x53FC18, 0x53FC18, 0x53FC18, 0x53FC18, 0x000000, 0x000000, 0x000000,
0x53FC18, 0x53FC18, 0x53FC18, 0x53FC18, 0x53FC18, 0x000000, 0x000000, 0x000000,
0x53FC18, 0x53FC18, 0x53FC18, 0x53FC18, 0x53FC18, 0x53FC18, 0x000000, 0x000000,
0x53FC18, 0x53FC18, 0x53FC18, 0x000000, 0x53FC18, 0x53FC18, 0x53FC18, 0x000000,
0x53FC18, 0x53FC18, 0x53FC18, 0x000000, 0x000000, 0x53FC18, 0x53FC18, 0x53FC18]
end
def human(n)
if n < 1000 return str(n) end
var d = 1000
var suf = "K"
if n >= 1000000000
d = 1000000000
suf = "B"
elif n >= 1000000
d = 1000000
suf = "M"
end
var v = n / (d + 0.0)
if v >= 10 return str(round(v)) + suf end
var t = round(v * 10)
return str(int(t / 10)) + "." + str(t % 10) + suf
end
def on_body(body, status)
self.busy = false
shared.set("f", 0)
if status != 200 || body == nil
self.err = true
return
end
var m = re.search("(\\d+)", body)
if m == nil
self.err = true
return
end
var n = num(m[1])
if n == nil return end
self.err = false
if n == self.count return end
self.count = n
self.full = str(n)
self.label = self.human(n)
store.set("n", n)
store.set("who", self.user)
end
def tls_busy()
for k : shared.keys()
if size(k) > 2 && k[size(k) - 2 .. size(k) - 1] == ".f" && shared.get(k) == 1
var a = shared.age(k)
if a != nil && a < 20000 return true end
end
end
return false
end
def loop()
if self.ticks <= 0
if !self.busy && !self.tls_busy()
self.ticks = self.period
self.busy = true
shared.set("f", 1)
http.get(self.url, / b, st -> self.on_body(b, st), self.opts)
end
end
self.ticks -= 1
end
def draw()
clear()
# Apply background effect first if configured
var fx = store.get("fx_name")
if fx != nil && fx != "None"
self.fx_opts["speed"] = store.get("fx_speed")
effect(fx, self.fx_opts)
end
# Draw Kick logo pixel matrix over background
for y : 0 .. 7
for x : 0 .. 7
var i = y * 8 + x
if self.px[i] != 0
pixel(x, y, self.px[i])
end
end
end
var color = store.get("txt_color")
if self.label != nil
var avail = width() - 9
var s = self.full
var w = text_ink_width(s)
if w > avail
s = self.label
w = text_ink_width(s)
end
text(9 + (avail - w) / 2, 6, s, color)
return
end
var s = self.err ? "?" : "..."
var w = text_ink_width(s)
text(9 + (width() - 9 - w) / 2, 6, s, self.err ? 0xCC7722 : 0x555555)
end
end
return Kick()
Install it on your AWTRIX NG
Your browser writes the script straight to the device on your network. It joins the app rotation right away.
Some browsers refuse to talk to a device on your network from a public page. Download the flow and paste it into the Scripts tab of your device, or install it from a terminal:
More flows for AWTRIX NG Scripts or Social
Something wrong with this flow? Report it.