with Discord Bot and Oracle Cloud Infrastructure?
Emit new event for each message posted to one or more channels
Emit new event when a new autonomous database is created in a specified compartment. See the documentation
Emit new event when a compute instance changes state (e.g., from stopped to running). This requires instance OCID and proper event rules set up in Oracle Cloud Infrastructure. See the documentation
Emit new event when a new object is uploaded to a specified Oracle Cloud Infrastructure Object Storage bucket. See the documentation
Emit new event for each forum thread message posted. Note that your bot must have the MESSAGE_CONTENT
privilege intent to see the message content. See the documentation
Create or update an object in a specified Oracle Cloud Infrastructure Object Storage bucket. See the documentation
Assign a role to a user. Remember that your bot requires the MANAGE_ROLES
permission. See the docs here
Delete an object from a specified Oracle Cloud Infrastructure Object Storage bucket. See the documentation
Create a new invite for the channel. See the docs here
The Discord Bot API unlocks the power to interact with Discord users and channels programmatically, making it possible to automate messages, manage servers, and integrate with other services. With Pipedream's serverless platform, you can create complex workflows that respond to events in Discord, process data, and trigger actions in other apps. This opens up opportunities for community engagement, content moderation, analytics, and more, without the overhead of managing infrastructure.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
discord_bot: {
type: "app",
app: "discord_bot",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://discord.com/api/users/@me`,
headers: {
"Authorization": `Bot ${this.discord_bot.$auth.bot_token}`,
},
})
},
})
import * as common from "oci-common";
import * as identity from "oci-identity";
export default defineComponent({
props: {
oracle_cloud_infrastructure: {
type: "app",
app: "oracle_cloud_infrastructure",
},
},
async run({ steps, $ }) {
const tenancyId = this.oracle_cloud_infrastructure.$auth.tenancy_id;
const userId = this.oracle_cloud_infrastructure.$auth.user_id;
const fingerprint = this.oracle_cloud_infrastructure.$auth.fingerprint;
const regionStr = this.oracle_cloud_infrastructure.$auth.region;
const privateKey = this.oracle_cloud_infrastructure.$auth.private_key;
// Convert the region string into a Region object
const region = common.Region.fromRegionId(regionStr);
// Create a simple authentication provider using your credentials.
// If your private key has a passphrase, replace null with the passphrase.
const provider = new common.SimpleAuthenticationDetailsProvider(
tenancyId,
userId,
fingerprint,
privateKey,
null, // passphrase (if needed)
region
);
// Create an IdentityClient using the provider.
const identityClient = new identity.IdentityClient({
authenticationDetailsProvider: provider,
});
// Prepare a request to list compartments for your tenancy.
const listCompartmentsRequest = {
compartmentId: tenancyId,
};
// Call the OCI API to list compartments.
const response = await identityClient.listCompartments(listCompartmentsRequest);
// The response object contains details such as items (the list of compartments).
return response;
},
});