fix reddit embeds
This commit is contained in:
parent
1369446721
commit
c1dc22a57c
70
client.js
70
client.js
|
@ -215,6 +215,17 @@ async function send(channel, text, file = null, forcemime = null){
|
||||||
channel = channel.channel;
|
channel = channel.channel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(channel === -1){
|
||||||
|
|
||||||
|
channel = 1;
|
||||||
|
}else{
|
||||||
|
|
||||||
|
if(channel === 1){
|
||||||
|
|
||||||
|
irc_client.say("#deekchat", text);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(file === null){
|
if(file === null){
|
||||||
|
|
||||||
ws.send(JSON.stringify({
|
ws.send(JSON.stringify({
|
||||||
|
@ -585,7 +596,7 @@ function init_irc(){
|
||||||
switch(to){
|
switch(to){
|
||||||
|
|
||||||
case "#deekchat":
|
case "#deekchat":
|
||||||
send(1, "<" + from + "> " + message);
|
send(-1, "<" + from + "> " + message);
|
||||||
|
|
||||||
deek.emit(
|
deek.emit(
|
||||||
"message",
|
"message",
|
||||||
|
@ -607,7 +618,7 @@ function init_irc(){
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
irc_client.addListener("error", function(message){
|
irc_client.addListener("close", function(message){
|
||||||
|
|
||||||
console.log("IRC error");
|
console.log("IRC error");
|
||||||
console.log(message);
|
console.log(message);
|
||||||
|
@ -616,10 +627,7 @@ function init_irc(){
|
||||||
irc_debounce = false;
|
irc_debounce = false;
|
||||||
//irc_client.disconnect();
|
//irc_client.disconnect();
|
||||||
|
|
||||||
setTimeout(function(){
|
|
||||||
|
|
||||||
init_irc();
|
init_irc();
|
||||||
}, 2000);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -673,6 +681,19 @@ deek.on("message", async function(msg, user){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(
|
||||||
|
user.id === userid &&
|
||||||
|
irc_bridge_enabled &&
|
||||||
|
msg.channel === 1 &&
|
||||||
|
msg.files.length !== 0
|
||||||
|
){
|
||||||
|
|
||||||
|
for(var i=0; i<msg.files.length; i++){
|
||||||
|
|
||||||
|
irc_client.say("#deekchat", msg.files[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(
|
if(
|
||||||
user.id === userid ||
|
user.id === userid ||
|
||||||
user.name == name
|
user.name == name
|
||||||
|
@ -771,7 +792,21 @@ deek.on("message", async function(msg, user){
|
||||||
|
|
||||||
try{
|
try{
|
||||||
|
|
||||||
if(tweet = link.match(/https?:\/\/(?:www\.)?(?:twitter|x)\.com\/[A-Za-z0-9_]+\/status\/([0-9]+)/i)){
|
if(reddit = link.match(/^https?:\/\/(?:old\.|www\.|m\.)?reddit\.com(\/r\/[^\/]+.*)/i)){
|
||||||
|
|
||||||
|
//
|
||||||
|
// reddit embed
|
||||||
|
//
|
||||||
|
|
||||||
|
reddit = reddit[1];
|
||||||
|
|
||||||
|
var res = await fetch("https://www.reddit.com/oembed?url=" + reddit);
|
||||||
|
var json = await res.json();
|
||||||
|
|
||||||
|
var title = json.title;
|
||||||
|
var description = "By " + json.author_name;
|
||||||
|
|
||||||
|
}else if(tweet = link.match(/^https?:\/\/(?:www\.)?(?:twitter|x)\.com\/[A-Za-z0-9_]+\/status\/([0-9]+)/i)){
|
||||||
|
|
||||||
//
|
//
|
||||||
// twitter embed
|
// twitter embed
|
||||||
|
@ -794,16 +829,31 @@ deek.on("message", async function(msg, user){
|
||||||
mimetype = ["image/jpeg", "jpeg", true];
|
mimetype = ["image/jpeg", "jpeg", true];
|
||||||
}
|
}
|
||||||
|
|
||||||
}else if(watch = link.match(/(?:youtube\.com\/(?:[^\/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=)|youtu\.be\/)([^"&?\/\s]{11})/i)){
|
}else if(watch = link.match(/^https?:\/\/(?:www\.|m\.)?youtu(?:(?:\.be\/([A-z0-9_-]{11}))|be\.[a-z]+\/(?:watch.*(?:\?|&)v=|shorts\/|embed\/|e\/)([A-z0-9_-]{11}))/i)){
|
||||||
|
|
||||||
|
//
|
||||||
|
// youtube embed
|
||||||
|
//
|
||||||
|
|
||||||
|
if(typeof watch[1] !== "undefined"){
|
||||||
|
|
||||||
watch = watch[1];
|
watch = watch[1];
|
||||||
|
}else if(typeof watch[2] !== "undefined"){
|
||||||
|
|
||||||
|
watch = watch[2];
|
||||||
|
}
|
||||||
|
|
||||||
var res = await fetch("https://youtube.com/oembed?url=/watch?v=" + watch);
|
var res = await fetch("https://youtube.com/oembed?url=/watch?v=" + watch);
|
||||||
var json = await res.json();
|
var json = await res.json();
|
||||||
|
|
||||||
var title = json.title;
|
var title = json.title;
|
||||||
var description = "By " + json.author_name;
|
var description = "By " + json.author_name;
|
||||||
|
|
||||||
}else if(bsky = link.match(/https?:\/\/bsky\.app\/profile\/([^\/]+)\/post\/([^?]+)/)){
|
}else if(bsky = link.match(/^https?:\/\/bsky\.app\/profile\/([^\/]+)\/post\/([^?]+)/)){
|
||||||
|
|
||||||
|
//
|
||||||
|
// bluesky embed
|
||||||
|
//
|
||||||
|
|
||||||
var bsky_profile = bsky[1];
|
var bsky_profile = bsky[1];
|
||||||
var bsky_post = bsky[2];
|
var bsky_post = bsky[2];
|
||||||
|
@ -854,6 +904,10 @@ deek.on("message", async function(msg, user){
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
|
//
|
||||||
|
// link parser fallback
|
||||||
|
//
|
||||||
|
|
||||||
var res = await fetch(
|
var res = await fetch(
|
||||||
link,
|
link,
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue