mirror of
https://github.com/misenhower/splatoon2.ink.git
synced 2026-03-21 17:24:37 -05:00
Use Twitter V2 API
This commit is contained in:
parent
5d7dbe5c9a
commit
8dab2a7f60
|
|
@ -37,7 +37,7 @@
|
|||
"moment-timezone": "^0.5.13",
|
||||
"puppeteer": "^13.6.0",
|
||||
"raven": "^2.1.1",
|
||||
"twitter": "^1.7.1",
|
||||
"twitter-api-v2": "^1.15.0",
|
||||
"v-click-outside": "^3.0.1",
|
||||
"vue": "^2.6.11",
|
||||
"vue-clipboard2": "^0.3.1",
|
||||
|
|
|
|||
|
|
@ -1,39 +1,33 @@
|
|||
const Twitter = require('twitter');
|
||||
const { TwitterApi } = require("twitter-api-v2");
|
||||
|
||||
// Twitter API parameters
|
||||
const consumer_key = process.env.TWITTER_CONSUMER_KEY;
|
||||
const consumer_secret = process.env.TWITTER_CONSUMER_SECRET;
|
||||
const access_token_key = process.env.TWITTER_ACCESS_TOKEN_KEY;
|
||||
const access_token_secret = process.env.TWITTER_ACCESS_TOKEN_SECRET;
|
||||
const appKey = process.env.TWITTER_CONSUMER_KEY;
|
||||
const appSecret = process.env.TWITTER_CONSUMER_SECRET;
|
||||
const accessToken = process.env.TWITTER_ACCESS_TOKEN_KEY;
|
||||
const accessSecret = process.env.TWITTER_ACCESS_TOKEN_SECRET;
|
||||
|
||||
// Twitter API client
|
||||
const client = new Twitter({ consumer_key, consumer_secret, access_token_key, access_token_secret });
|
||||
module.exports.client = client;
|
||||
function getClient() {
|
||||
return new TwitterApi({
|
||||
appKey,
|
||||
appSecret,
|
||||
accessToken,
|
||||
accessSecret,
|
||||
});
|
||||
}
|
||||
|
||||
function canTweet() {
|
||||
return consumer_key && consumer_secret && access_token_key && access_token_secret;
|
||||
return appKey && appSecret && accessToken && accessSecret;
|
||||
}
|
||||
module.exports.canTweet = canTweet;
|
||||
|
||||
function postMediaTweet(text, image) {
|
||||
return new Promise((resolve, reject) => {
|
||||
// Upload the image
|
||||
client.post('media/upload', { media: image }, (error, media, response) => {
|
||||
if (error)
|
||||
return reject(error);
|
||||
async function postMediaTweet(text, image) {
|
||||
let client = getClient();
|
||||
|
||||
let status = {
|
||||
status: text,
|
||||
media_ids: media.media_id_string,
|
||||
};
|
||||
// Upload images
|
||||
let mediaId = await client.v1.uploadMedia(image, { mimeType: 'image/png' });
|
||||
|
||||
client.post('statuses/update', status, (error, tweet, response) => {
|
||||
if (error)
|
||||
return reject(error);
|
||||
|
||||
resolve(tweet);
|
||||
});
|
||||
});
|
||||
});
|
||||
// Send status
|
||||
await client.v2.tweet(text, { media: { media_ids: [mediaId] } });
|
||||
}
|
||||
module.exports.postMediaTweet = postMediaTweet;
|
||||
|
|
|
|||
18
yarn.lock
18
yarn.lock
|
|
@ -3366,11 +3366,6 @@ deep-equal@^1.0.1:
|
|||
object-keys "^1.1.1"
|
||||
regexp.prototype.flags "^1.2.0"
|
||||
|
||||
deep-extend@^0.5.0:
|
||||
version "0.5.1"
|
||||
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.5.1.tgz#b894a9dd90d3023fbf1c55a394fb858eb2066f1f"
|
||||
integrity sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==
|
||||
|
||||
deep-is@^0.1.3, deep-is@~0.1.3:
|
||||
version "0.1.4"
|
||||
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
|
||||
|
|
@ -7951,7 +7946,7 @@ repeat-string@^1.6.1:
|
|||
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
|
||||
integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
|
||||
|
||||
request@^2.72.0, request@^2.88.2:
|
||||
request@^2.88.2:
|
||||
version "2.88.2"
|
||||
resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
|
||||
integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
|
||||
|
|
@ -9133,13 +9128,10 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0:
|
|||
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
|
||||
integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
|
||||
|
||||
twitter@^1.7.1:
|
||||
version "1.7.1"
|
||||
resolved "https://registry.yarnpkg.com/twitter/-/twitter-1.7.1.tgz#0762378f1dc1c050e48f666aca904e24b1a962f4"
|
||||
integrity sha1-B2I3jx3BwFDkj2ZqypBOJLGpYvQ=
|
||||
dependencies:
|
||||
deep-extend "^0.5.0"
|
||||
request "^2.72.0"
|
||||
twitter-api-v2@^1.15.0:
|
||||
version "1.15.0"
|
||||
resolved "https://registry.yarnpkg.com/twitter-api-v2/-/twitter-api-v2-1.15.0.tgz#ab8ff0f50158ac8d7897777b70ec39087d950f40"
|
||||
integrity sha512-Cqg3pIGhSwPyFBndpBrucdeNXecNFnYcXy3ixQ4brJHd/3k1CAtBVcX0e3s6jRYl/QIx5BmyGXS/SHEGtYZ3gw==
|
||||
|
||||
type-check@^0.4.0, type-check@~0.4.0:
|
||||
version "0.4.0"
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user