Discord Bot Trigger on Webhook Received - discord

I am trying to pipe notifications from various online services into a Discord server using Webhooks. The problem is, discord doesn't render the message that is received by a webhook the way I need. It omits some information that I would like to display.
Is it possible to receive the raw JSON information from a webhook when it arrives, then process it and post into a channel?
My thinking was: I can create a new bot, then subscribe to some kind of webhook_message_received event and process it the way I want. Turns out, there's no such event (or I don't know where to look).
There's not much information online, so I would appreciate any advice.

Related

how to send automatically a message when we send in a Discord channel

In a Discord server I manage, there is a channel "Tutorials", where people can share tutorials for tools they might find useful.
The "rule" of this channel is that if we have a question about a tutorial, we need to answer inside a thread and not in the channel discussion (to avoid the important message being lost in history).
I updated the description of the channel, but this is not enough, because not everybody read it ;)
So I would like to set a way to make the user sure before they publish their message, for instance, my idea is when they try to send a message to the channel, a hidden message pops up telling "are you sure you want to do this ?" to recall the rule to the user.
Is there such a feature in Discord (or with a bot) ? Until now my researches were unsuccessful.

How do I create a stickied message in Discord.js

I've looked all over and I can't find a solution.
I'm using discord js using non-slash commands.
How could I make it so you have a message from the bot and if someone types in the channel the bot's message will get deleted and resent
I want to do this in a sense of a server request channel so you need to add the channel you want the command to run and what you want it to say:
e.g:
Stickied Message
Name:
Request Needed:
Approved By:
how could I program that? Thanks :) <3
I ahve googled online and can't see anything relating to this topic - maybe I'm not searching the right things?
Tried Discord.js V13 | Sticky Message but did not work

Message counting in discord.js?

So i want to do a command, where if you enter, it sends a Dino emoji and a "sent by (User)" in a specific channel.
Now i need to know, is it possible to count every message in this channel and put it in the dino message?
Like the first dino ever would get
"dino #1, sent by #User"
I would not recommend using the number of messages in the channel for counting. Instead I would use some kind of data storage (JSON file, SQLite, SQL Database, etc) to store the count on the bot side. Fetching all the messages in a channel is a lot of requests to Discord and in some cases could be considered API abuse on Discord's end.

Send a single message on Discord JS (v12)

Im not able to send a single message from my bot using Discord JS as of v12.
I think before the update (v11) was able just by calling the channel.send('text here') but now I do not how to do it.
In detail: I want to send a message upon the bot connection and not only when someone sends a message; meaning that Im only able to send a message using the client.on('message', msg =>()
You can send messages anytime, as long as the bot is connected and ready.
The only reason why you say you "can't" send messages outside of the message event is because in the message event, you listen for a message event and respond to that message in the same channel.
You want to know how to send a message without a pre-existing message.
Go to the desired channel, right-click it, and click Copy ID. (If Developer Mode isn't on, turn it on in user settings.)
If you are using discord.js v12, use client.channels.cache.get('theChannelID').send('yourmessage'); or if you are using discord.js v11, delete the cache part.
Hope this helps.
If you want to message the same channel of the user's mess, try using message.channel.send(content)

Google Channel API sends a message to all clients

I created a working Google Channel AP and now I would like to send a message to all clients.
I have two servlets. The first creates the channel and tells the clients the userid and token. The second one is called by an http post and should send the message.
To send a message to a client, I use:
channelService.sendMessage(new ChannelMessage(channelUserId, "This is a server message!"));
This sends the message just to one client. How could I send this to all?
Have I to store every Id which I use to create a channel and send the message for every id? How could I pass the Ids to the second servlet?
Using Channel API it is not possible to create one channel and then having many subscribers to it. The server creates a unique channel for individual JavaScript clients, so if you have the same Client ID the messages will be received only by one.
If you want to send the same message to multiple clients, in short, you will have to keep a track of active clients and send the same message to all of them.
If that approach sounds scary and messy, consider using PubNub for your push notification messages, where you can easily create one channel and have many subscribers. To make it run on Google App Engine is not that hard, since they support almost any platform or device.
I know this is an old question, but I just finished an open source project that uses the Channel API to implement a publish/subscribe model, i.e. you can have multiple users subscribe to a single topic, and then all those subscribers will be notified when anyone publishes a message to the topic. It also has some nice features like automatic message persistence if desired, and "return receipts", where a subscriber can be notified whenever OTHER subscribers receive that message. See https://github.com/adevine/gaewebpubsub#gae-web-pubsub. Licensed under Apache 2.0 license.

Resources