fuck man tags good enough

This commit is contained in:
CatAClock 2025-05-30 17:06:06 -07:00
parent 62820d4ede
commit 8c386c6701
3 changed files with 40 additions and 12 deletions

View file

@ -115,7 +115,7 @@ export async function GetRecord(Repo, Collection, RKey) {
// Creators // Creators
// This creates a post. Requires the DID of the account and the Text for the record. // This creates a post. Requires the DID of the account and the Text for the record.
export async function CreatePost(DID, Text, ContentWarning = undefined, ReplyID = undefined, RootID = undefined) { export async function CreatePost(DID, Text, ContentWarning = undefined, Tags = [], ReplyID = undefined, RootID = undefined) {
if (Token == null) { if (Token == null) {
return ""; return "";
} }
@ -146,15 +146,19 @@ export async function CreatePost(DID, Text, ContentWarning = undefined, ReplyID
} }
}; };
} }
// Tags
if (Tags.length != 0) {
Record.tags = Tags;
}
let body = await CreateRecord(DID, "app.bsky.feed.post", Record, undefined); let body = await CreateRecord(DID, "app.bsky.feed.post", Record, undefined);
if (body.hasOwnProperty("error") && body.error == "InvalidRequest") { if (body.hasOwnProperty("error") && body.error == "InvalidRequest") {
let matches = body.message.match(/(\d+)/); let matches = body.message.match(/(\d+)/);
Record.text = Text.slice(0, matches[0] - 1); Record.text = Text.slice(0, matches[0] - 1);
body = await CreateRecord(DID, "app.bsky.feed.post", Record, undefined); body = await CreateRecord(DID, "app.bsky.feed.post", Record, undefined);
if (ReplyID != undefined && RootID != undefined) { if (ReplyID != undefined && RootID != undefined) {
await CreatePost(DID, Text.slice(matches[0] - 1, Text.length), ContentWarning, body, body); await CreatePost(DID, Text.slice(matches[0] - 1, Text.length), ContentWarning, Tags, body, body);
} else { } else {
await CreatePost(DID, Text.slice(matches[0] - 1, Text.length), ContentWarning, body, RootID); await CreatePost(DID, Text.slice(matches[0] - 1, Text.length), ContentWarning, Tags, body, RootID);
} }
} }
return body; return body;

View file

@ -126,7 +126,7 @@ export async function CreateStatus(Text, Visibility = "public", SpoilerText = un
request = fetch(enFetchThing, {method: "POST", headers: {"Authorization": TokenType + " " + Token}}); request = fetch(enFetchThing, {method: "POST", headers: {"Authorization": TokenType + " " + Token}});
body = await request.then((response) => response.json()); body = await request.then((response) => response.json());
if (ReplyID != undefined) { if (ReplyID != undefined) {
await CreateReplyStatus(Text.slice(matches[0] - 1, SpoilerText, Text.length), Visibility, body.id); await CreateReplyStatus(Text.slice(matches[0] - 1, Text.length), Visibility, SpoilerText, body.id);
} }
} }
return body; return body;

View file

@ -33,7 +33,18 @@ async function Post() {
// Mastodon posting. // Mastodon posting.
if (localStorage.getItem(Variables.MastodonAccessToken) != null) { if (localStorage.getItem(Variables.MastodonAccessToken) != null) {
let TempVisible; let TempVisible;
let TempText = Text + "<br/><br/>" + TagsInputArea.value; // Adding tags
let TempText = Text + "<br/><br/>";
let Tags = TagsInputArea.value.split(";");
for (let i of Tags) {
while (i[0] == " ") {
i = i.substring(1, i.length);
}
if (i[0] != "#") {
i = "#" + i;
}
TempText += i + " ";
}
switch(Visible) { switch(Visible) {
case "Public": case "Public":
TempVisible = "public"; TempVisible = "public";
@ -60,7 +71,7 @@ async function Post() {
return; return;
} else if (website == "All") { } else if (website == "All") {
if (WarningInputArea.value == "") { if (WarningInputArea.value == "") {
await MastodonAPI.CreateStatus(TempText, TempVisible); await MastodonAPI.CreateStatus(TempText, TempVisible, undefined);
} else { } else {
await MastodonAPI.CreateStatus(TempText, TempVisible, WarningInputArea.value); await MastodonAPI.CreateStatus(TempText, TempVisible, WarningInputArea.value);
} }
@ -69,6 +80,19 @@ async function Post() {
// Bluesky posting. // Bluesky posting.
if (localStorage.getItem(Variables.BlueskyAccessToken) != null) { if (localStorage.getItem(Variables.BlueskyAccessToken) != null) {
let TempVisible; let TempVisible;
// Adding tags
let Tags = TagsInputArea.value.split(";");
let TagsTemp = [];
for (let i of Tags) {
while (i[0] == " ") {
i = i.substring(1, i.length);
}
if (i[0] != "#") {
i = "#" + i;
}
TagsTemp.push(i);
}
Tags = TagsTemp;
switch(Visible) { switch(Visible) {
case "Public": case "Public":
TempVisible = undefined; TempVisible = undefined;
@ -87,16 +111,16 @@ async function Post() {
let Post; let Post;
if (JSON.parse(localStorage.getItem("post")).hasOwnProperty("reply")) { if (JSON.parse(localStorage.getItem("post")).hasOwnProperty("reply")) {
if (WarningInputArea.value == "") { if (WarningInputArea.value == "") {
Post = await BlueskyAPI.CreatePost(localStorage.getItem(Variables.BlueskyDID), Text, undefined, JSON.parse(localStorage.getItem("post")).post, JSON.parse(localStorage.getItem("post")).reply.root); Post = await BlueskyAPI.CreatePost(localStorage.getItem(Variables.BlueskyDID), Text, undefined, Tags, JSON.parse(localStorage.getItem("post")).post, JSON.parse(localStorage.getItem("post")).reply.root);
} else { } else {
Post = await BlueskyAPI.CreatePost(localStorage.getItem(Variables.BlueskyDID), Text, WarningInputArea.value, JSON.parse(localStorage.getItem("post")).post, JSON.parse(localStorage.getItem("post")).reply.root); Post = await BlueskyAPI.CreatePost(localStorage.getItem(Variables.BlueskyDID), Text, WarningInputArea.value, Tags, JSON.parse(localStorage.getItem("post")).post, JSON.parse(localStorage.getItem("post")).reply.root);
} }
await BlueskyAPI.CreateThreadGate(localStorage.getItem(Variables.BlueskyDID), Post.uri, TempVisible); await BlueskyAPI.CreateThreadGate(localStorage.getItem(Variables.BlueskyDID), Post.uri, TempVisible);
} else { } else {
if (WarningInputArea.value == "") { if (WarningInputArea.value == "") {
Post = await BlueskyAPI.CreatePost(localStorage.getItem(Variables.BlueskyDID), Text, undefined, JSON.parse(localStorage.getItem("post")).post, JSON.parse(localStorage.getItem("post")).post); Post = await BlueskyAPI.CreatePost(localStorage.getItem(Variables.BlueskyDID), Text, undefined, Tags, JSON.parse(localStorage.getItem("post")).post, JSON.parse(localStorage.getItem("post")).post);
} else { } else {
Post = await BlueskyAPI.CreatePost(localStorage.getItem(Variables.BlueskyDID), Text, WarningInputArea.value, JSON.parse(localStorage.getItem("post")).post, JSON.parse(localStorage.getItem("post")).post); Post = await BlueskyAPI.CreatePost(localStorage.getItem(Variables.BlueskyDID), Text, WarningInputArea.value, Tags, JSON.parse(localStorage.getItem("post")).post, JSON.parse(localStorage.getItem("post")).post);
} }
await BlueskyAPI.CreateThreadGate(localStorage.getItem(Variables.BlueskyDID), Post.uri, TempVisible); await BlueskyAPI.CreateThreadGate(localStorage.getItem(Variables.BlueskyDID), Post.uri, TempVisible);
} }
@ -107,9 +131,9 @@ async function Post() {
} else if (website == "All") { } else if (website == "All") {
let Post; let Post;
if (WarningInputArea.value == "") { if (WarningInputArea.value == "") {
Post = await BlueskyAPI.CreatePost(localStorage.getItem(Variables.BlueskyDID), Text); Post = await BlueskyAPI.CreatePost(localStorage.getItem(Variables.BlueskyDID), Text, undefined, Tags);
} else { } else {
Post = await BlueskyAPI.CreatePost(localStorage.getItem(Variables.BlueskyDID), Text, WarningInputArea.value); Post = await BlueskyAPI.CreatePost(localStorage.getItem(Variables.BlueskyDID), Text, WarningInputArea.value, Tags);
} }
await BlueskyAPI.CreateThreadGate(localStorage.getItem(Variables.BlueskyDID), Post.uri, TempVisible); await BlueskyAPI.CreateThreadGate(localStorage.getItem(Variables.BlueskyDID), Post.uri, TempVisible);
} }