with Rocket Chat and DigitalOcean Spaces?
Emit new event when a new channel is created in RocketChat.
Emit new event when a file is deleted from a DigitalOcean Spaces bucket
Emit new event when a new message is posted to a specific public channel.
Emit new event when a file is uploaded to a DigitalOcean Spaces bucket
Sends a new direct message to a specific user. See the documentation
Upload a file to DigitalOcean Spaces. Accepts either a file URL or a path to a file in the /tmp
directory. See the docs
Rocket Chat is a customizable and open-source team chat platform that's a popular alternative for team communication. With its API, you can automate a variety of tasks, such as sending messages, creating channels, managing users, and integrating with various services for a seamless workflow. Leveraging Pipedream's capabilities, you can use Rocket Chat API to create intricate workflows and connect them with other apps to streamline communication, trigger actions based on messages, and synchronize data across platforms.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
rocket_chat: {
type: "app",
app: "rocket_chat",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://${this.rocket_chat.$auth.domain}/api/v1/me`,
headers: {
"X-Auth-Token": `${this.rocket_chat.$auth["X-Auth-Token"]}`,
"X-User-Id": `${this.rocket_chat.$auth["X-User-Id"]}`,
},
params: {
userId: `${this.rocket_chat.$auth["X-User-Id"]}`,
},
})
},
})
DigitalOcean Spaces API permits you to manage object storage, allowing for the storage and serving of massive amounts of data. This API is great for backing up, archiving, and providing public access to data or assets. On Pipedream, you can use this API to automate file operations like uploads, downloads, and deletions, as well as manage permissions and metadata. You can integrate it with other services for end-to-end workflow automation.
import { S3 } from "@aws-sdk/client-s3";
import { ListBucketsCommand } from "@aws-sdk/client-s3";
export default defineComponent({
props: {
digitalocean_spaces: {
type: "app",
app: "digitalocean_spaces"
}
},
async run({ steps, $ }) {
console.log(this.digitalocean_spaces.$auth)
const s3Client = new S3({
forcePathStyle: false, // Configures to use subdomain/virtual calling format.
endpoint: `https://${this.digitalocean_spaces.$auth.region}.digitaloceanspaces.com`,
region: "us-east-1",
credentials: {
accessKeyId: this.digitalocean_spaces.$auth.key,
secretAccessKey: this.digitalocean_spaces.$auth.secret
}
});
const data = await s3Client.send(new ListBucketsCommand({}));
return data.Buckets;
},
})