Added basic twitter bot and spin, updated readme, other various changes

This commit is contained in:
TheEssem 2019-11-15 10:59:50 -06:00
parent d661b58271
commit f7756f1b52
14 changed files with 416 additions and 48 deletions

View file

@ -19,11 +19,36 @@ exports.clean = async (text) => {
.replace(process.env.GOOGLE, "<redacted>")
.replace(process.env.CSE, "<redacted>")
.replace(process.env.DBL, "<redacted>")
.replace(process.env.MONGO, "<redacted>");
.replace(process.env.MONGO, "<redacted>")
.replace(process.env.TWITTER_KEY, "<redacted>")
.replace(process.env.CONSUMER_SECRET, "<redacted>")
.replace(process.env.ACCESS_TOKEN, "<redacted>")
.replace(process.env.ACCESS_SECRET, "<redacted>");
return text;
};
// get random tweet to post
exports.getTweet = async (twitter, reply = false) => {
const randomTweet = this.random(reply ? twitter.tweets.replies : twitter.tweets.tweets);
if (randomTweet.match("{{message}}")) {
const randomMessage = await this.getRandomMessage();
return randomTweet.replace("{{message}}", randomMessage);
} else {
return randomTweet.replace("{{media}}", this.random(twitter.tweets.media))
.replace("{{games}}", this.random(twitter.tweets.games))
.replace("{{phrases}}", this.random(twitter.tweets.phrases));
}
};
exports.getRandomMessage = async () => {
const messages = await require("./client.js").guilds.get("631290275456745502").channels.get("631290275888627713").getMessages(50);
const randomMessage = this.random(messages);
if (randomMessage.content.length > 144) return await this.getRandomMessage();
if (randomMessage.content.match(/<@!?\d+>/g)) return await this.getRandomMessage();
return randomMessage.content;
};
// regexEscape(string) to escape characters in a string for use in a regex
exports.regexEscape = (string) => {
return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string

12
utils/twitter.js Normal file
View file

@ -0,0 +1,12 @@
const Twit = require("twit");
const tweets = require("../tweets.json");
const T = new Twit({
consumer_key: process.env.TWITTER_KEY,
consumer_secret: process.env.CONSUMER_SECRET,
access_token: process.env.ACCESS_TOKEN,
access_token_secret: process.env.ACCESS_SECRET
});
module.exports = {
client: T,
tweets: tweets
};