Message counting in discord.js? - 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.

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.

Read messages in a discord channel without running client

Is there a way to read the messages on a discord channel using discord.py without running the client? The use case is, I have a lambda function that runs slash commands so that I don't have to have a permanent machine listening. This works fine. I want to make a slash command to read all the messages in the channel and save the attachments in the messages in the channel. All the examples I have seen are to make text bots declaring the commands and end with:
client.run('your-token-here')
Which means it needs to be constantly up. Is this possible?

Discord Bot Trigger on Webhook Received

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.

discord selfbot send the same message to different channels in different servers

I'm trying to create a macro that sends a message to different channels in different servers every 8h but I can't figure out how to make it send a msg in a channel automatic (I'm trying to send the msg as soon as I run the py file) I have been searching for different example in the discord.py documentation but all the examples I found send a msg after a command) but I just want to know how do I make a discord selfbot send a message that has multiple lines to a channel and then I believe I can make it myself.
I know this should just be a comment but for the sake of making sure people will see this, I'm also posting it as an answer.:
Self-bots are 100% against the Terms of Service of the Discord API, you can have your account deleted for using one. https://support.discord.com/hc/en-us/articles/115002192352-Automated-user-accounts-self-bots-
Put this in your code
import time
#client.event
async def on_message(message):
await message.channel.send('Text Here')
time.sleep(28800)
and selfbots are against the tos and you can get your account deleted

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