Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alexisl61/discordinteraction
https://github.com/alexisl61/discordinteraction
Last synced: 22 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/alexisl61/discordinteraction
- Owner: AlexisL61
- Created: 2021-07-04T18:18:34.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-07-04T18:47:37.000Z (over 3 years ago)
- Last Synced: 2024-11-16T18:05:49.594Z (about 2 months ago)
- Language: TypeScript
- Size: 5.86 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Discord Interaction
A library that let you use message interaction in your discord.js messages !
## Example
Add a button to a message:
```js
//Create a MessageInteraction
var messageToSend = new MessageInteraction("Message",message.channel)
//Add a button
messageToSend.addButton("Button",1,"my_button")
//Send the message
channel.send(messageToSend)
```Add a select menu to a message:
```js
//Create a MessageInteraction
var messageToSend = new MessageInteraction("Message",message.channel)
//Create an array of options
var menuOptions = [{"label":"First option","value":"first_option","description":"Description for the first option","emoji":{"name":"😄"}}]
//Add the select menu to the message
messageToSend.addSelectMenu("my_select_menu",menuOptions,"My select menu",1,1)
//Send the message
message.channel.send(messageToSend)
```Await a button to be clicked
```js
//Create a MessageInteraction
var messageToSend = new MessageInteraction("Message",message.channel)
//Add a button
messageToSend.addButton("Button",1,"my_button")
//Send the message
var messageSent = await message.channel.send(messageToSend)
//Await for the button to be clicked
var buttonClicked = await MessageInteraction.awaitButtonClicked(messageSent)
//Receive the data of the button ({"custom_id","component_type"}) and the member who clicked on the button
console.log(buttonClicked.data,buttonClicked.member)
```Await a select menu to be clicked
```js
//Create a MessageInteraction
var messageToSend = new MessageInteraction("Message",message.channel)
//Create an array of options
var menuOptions = [{"label":"First option","value":"first_option","description":"Description for the first option","emoji":{"name":"😄"}}]
//Add the select menu to the message
messageToSend.addSelectMenu("my_select_menu",menuOptions,"My select menu",1,1)
//Send the message
var messageSent = await message.channel.send(messageToSend)
//Await for the button to be clicked
var selectMenuClicked = await MessageInteraction.awaitSelectMenuClicked(messageSent)
//Receive the data of the button ({"custom_id","component_type","values":[]}) and the member who clicked on the button
console.log(selectMenuClicked.data,selectMenuClicked.member)
```Respond to an interaction
```js
//Create a MessageInteraction
var messageToSend = new MessageInteraction("Message",message.channel)
//Add a button
messageToSend.addButton("Button",1,"my_button")
//Send the message
var messageSent = await message.channel.send(messageToSend)
//Await for the button to be clicked
var buttonClicked = await MessageInteraction.awaitButtonClicked(messageSent)
//Respond to the interaction
MessageInteraction.respondToInteraction(buttonClicked.id,buttonClicked.token)
```