# Discord bot for TikTok notifications: when a webhook is enough

> AyeWatch posts new TikTok videos to Discord on paid plans, or sends a signed webhook you can relay with a short Node handler. A bot is only worth it for custom logic.

URL: https://claudegpt.si/news/discord-bot-for-tiktok-notifications-webhook  
Published: 2026-11-04T06:01:44.919Z  
Author: ClaudeGPT Si Newsroom  
Section: Guides  
Topics: TikTok, Discord, Webhooks  
Publisher: ClaudeGPT Si

## Key takeaways

- Posting new TikTok videos to a Discord channel does not need a custom bot: AyeWatch has a Discord integration on paid plans, and its webhook can be relayed to a Discord incoming webhook.
- AyeWatch webhooks are signed with HMAC-SHA256 in the X-AyeWatch-Signature header, must get a 2xx reply within 10 seconds, and carry an update_id for deduplicating retries.
- AyeWatch does not send TikTok LIVE alerts or read comments; it has a free preview, and paid plans start at $9 a month as of November 2026.

You may not need a Discord bot for TikTok notifications at all. If the goal is a message in a channel each time a creator posts, a webhook does the job: AyeWatch can post new TikTok videos to Discord on paid plans, or send you a signed webhook that a short handler of your own relays to Discord. Write a full bot only when you want commands, roles or logic of your own.

## Three ways to get TikTok posts into a channel

| Approach | What you maintain | Pick it when |
| --- | --- | --- |
| Your own bot | Reading TikTok on a schedule, remembering seen videos, retries, hosting | You need slash commands or custom behavior |
| AyeWatch's Discord integration | Nothing after setup | You want new videos in a channel, today |
| AyeWatch webhook relayed to a Discord webhook | One small HTTPS handler | You want your own message format or routing |

## Why a home-made bot is more work than it looks

The Discord side is the easy part. The hard part is the TikTok side: fetching a profile, hashtag or search on a schedule, working out which videos are new, storing what you already posted, and repairing the reader when the source changes. That is a small service to run forever, for a feature most servers only need to fire a few times a week.

## The no-code route

In [AyeWatch](https://ayewatch.ai), open Create a monitor, pick TikTok and choose a mode:

- **Profile** takes a full tiktok.com profile link and sends every new video from that creator.
- **Search** takes plain words and sends the newest videos whose captions match.
- **Hashtag** takes one tag and sends new videos that use it.

Add an Only alert me about rule if the channel should only see some videos, for example "tutorials, not memes". Then connect Discord. AyeWatch lists Slack, Discord and webhook integrations as paid-plan features; push and the in-app feed come with every plan. Each update carries the caption, view, like and comment counts, a cover image and a link to the video.

## The relay route, for custom formatting

If you want embeds, per-channel routing or a filter of your own, point AyeWatch's webhook at a handler and forward to a Discord incoming webhook. The facts that shape the code, from [AyeWatch's webhook docs](https://ayewatch.ai/documentation/webhooks) and [Discord's webhook reference](https://docs.discord.com/developers/resources/webhook):

- AyeWatch POSTs JSON to a public HTTPS URL, one webhook per account, only when a monitor finds something new.
- Your endpoint must answer with a 2xx within 10 seconds. Failed deliveries are retried, so deduplicate on `update_id`.
- Each request has an `X-AyeWatch-Signature` header: `sha256=` plus an HMAC-SHA256 of the raw body, keyed with your webhook secret.
- Discord's Execute Webhook call needs at least one of `content`, `embeds` or a few other fields, and `content` holds up to 2,000 characters.

```js
import express from "express";
import crypto from "node:crypto";

const app = express();
const seen = new Set();

app.post("/hooks/ayewatch", express.raw({ type: "application/json" }), async (req, res) => {
  const expected = "sha256=" + crypto.createHmac("sha256", process.env.AYEWATCH_SECRET).update(req.body).digest("hex");
  const given = req.get("x-ayewatch-signature") ?? "";
  if (given.length !== expected.length || !crypto.timingSafeEqual(Buffer.from(given), Buffer.from(expected))) {
    return res.sendStatus(401);
  }
  res.sendStatus(200); // reply fast, then forward
  const update = JSON.parse(req.body);
  if (seen.has(update.update_id)) return;
  seen.add(update.update_id);
  const content = `**${update.headline ?? update.topic_name}**\n${update.content ?? ""}`.slice(0, 2000);
  await fetch(process.env.DISCORD_WEBHOOK_URL, {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({ content }),
  });
});

app.listen(3000);
```

Keep `seen` in Redis or a database once this runs on more than one instance. AyeWatch's docs also say events can arrive out of order and new fields may appear, so ignore fields you do not use.

## What none of these routes cover

AyeWatch sends no TikTok LIVE alerts, does not read comments and works with public accounts only. If your server mainly wants "this creator is live now" pings, a stream-alert bot built for LIVE is the better fit. For new videos, hashtags and searches, the webhook route is less code to own than a bot.

## Price

AyeWatch has a free preview with no card. As of November 2026, paid plans, which include the Discord and webhook integrations, start at $9 a month and are billed in monitoring credits.

## Frequently asked questions

### Do I need a bot to get TikTok notifications in Discord?

Not for new videos. AyeWatch can post to Discord directly on paid plans, and a Discord incoming webhook can take messages from your own relay. A bot makes sense when you want commands or custom behavior.

### Can I point AyeWatch's webhook straight at a Discord webhook URL?

Not as is. AyeWatch sends its own JSON payload, while Discord's Execute Webhook call expects fields such as content or embeds. Use AyeWatch's Discord integration, or a small handler that verifies the signature and reformats the message.

### Will this send TikTok LIVE notifications to Discord?

No. AyeWatch's TikTok monitors cover new videos from profiles, searches and hashtags, not LIVE streams. Use a stream-alert bot for LIVE.

## Sources

- [AyeWatch webhooks documentation](https://ayewatch.ai/documentation/webhooks), AyeWatch
- [AyeWatch for TikTok monitoring](https://ayewatch.ai/tiktok), AyeWatch
- [AyeWatch integrations](https://ayewatch.ai/integrations), AyeWatch
- [AyeWatch pricing](https://ayewatch.ai/pricing), AyeWatch
- [Webhook resource](https://docs.discord.com/developers/resources/webhook), Discord
