@searchnicks אפשר לעשות קבוצת גוגל גרופס (כמובן עם הרשמה לא עצמית אלא רק באישור מנהל הקבוצה) ולתת הרשאה לכתובת המייל של הקבוצה, וכל מי שמחובר לקבוצה יקבל את ההרשאות שניתנו לכתובת המייל של הקבוצה.
צדיק תמים
-
שיתוף תיקיית דרייב אחת מתוך דרייב שלם -
פרסום מפתח API של גוגל - בעייתי?שלום.
לצורך סקריפט מסוים שמקבל נתונים מהAPI של גוגל (מידע על סרטוני יוטיוב), ונדרש מפתח API.
השאלה האם אני יכול לפרסם את המפתח שיצרתי לעצמי, ומקסימות אם השימוש יעבור את מגבלת ה-10,000 ביום זה לא יעבוד, או שיש בזה סיכון?
לדוגמה שאפשר איכשהו באמצעות המפתח הזה לגרום לחיוב בתשלום, או סגירת החשבון/חלק ממנו עקב חריגה מהכללים, וכדומה?
תודה רבה... -
שאלה למתמצאים בתכנות בנטפרי@בר-בי-רב אמר בשאלה למתמצאים בתכנות בנטפרי:
אגב, האם זה אמור לחפש גם בכתובות של עמודי סרטונים מוטמעים? או רק בקישורים הישירים של יוטיוב?
מבדיקה שעשיתי עכשיו, זה אמור לעבוד.
אגב אני בעז"ה רוצה להוסיף עוד חידוש מרענן
של הדפסת כותרת הסרטון
(ואם תאמר שזה גורם לאפשרות קבלת תוכן לא ראוי - כבר כיום בשליחת סרטון לבדיקה לנטפרי מופיעה כותרת הסרטון) -
עזרה בשרשור פרומיסים (fetch) / גם שימוש בjson שמתקבל מהכתובת וגם קבלת הכתובת עצמה@dovid אמר בעזרה בשרשור פרומיסים (fetch) / גם שימוש בjson שמתקבל מהכתובת וגם קבלת הכתובת עצמה:
הקוד שהבאתי הראשון "לא שינית בו כלום" אבל כתבתי בדיוק מה שיניתי: "התוצאה שלה מוכנה רק בthen הבא." כלומר הconsole.log לא נמצא יחד עם הresponse.json() אלא בthen שאחריו.
זה מה שניסיתי קודם כל, וזה לא עבד... זה כתב ש
YTurl
לא מוגדר.
לא משנה. -
שאלה למתמצאים בתכנות בנטפרי@בר-בי-רב היה קצת מניעות
אבל הנה:
https://github.com/ShlomoCode/Checking-the-status-of-YouTube-videos-by-NetFree-Filter#redme (אני מודיע מראש: החלק של העיצוב בסקריפט הזה על הפנים... )
יש שם הוראות להתקנת הסקריפט באמצעות התוסף tampermonkey;
לאחר ההתקנה יש להיכנס לכתובת שמצויינת שם, ייפתח חלון שבו תכניס את רשימת הסרטונים, ואז חלון נוסף שתבחר את התו שמפריד בין סרטון לסרטון (לדוגמה רווח, רווח ופסיק, פסיק בלבד, וכן הלאה), ואז הסקריפט ממיין את כל הסרטונים ל3 רשימות - פתוחים, חסומים, ולא נבדקו:
בסיום (יותר נכון שניה קודם... לא היה לי כבר סבלנות לדייק את זה) יישמע צליל סיום, וכן יופיע בראש הדף כיתוב כמה כתובות עובדו. (כנ"ל, רציתי לעשות שיהיה כתוב שם ההתקדמות... אולי בהזדמנות)
עובד כמובן רק על מחשב עם חיבור של נטפרי. -
עזרה בשרשור פרומיסים (fetch) / גם שימוש בjson שמתקבל מהכתובת וגם קבלת הכתובת עצמה@dovid קודם כל תודה על התשובה המהירה
למה באמתresponse.json()
לוקח זמן? במה זה שונה מכל ניתוח מקומי אחר, לדוגמה.split()
?
זה ממש מעניין, הקוד שהבאת (הווריאציה הראשונה) אכן עובד, אבל למעשה לא שינית בו כלום...
פשוט השארת את השרשור פרומיסים, ורק שלחת גם את YTurl...
אבל גם אני ניסיתי (לפני ששאלתי פה) לשלוח אותו, וזה כתב לי שזה לא מוגדר...
@dovid אמר בעזרה בשרשור פרומיסים (fetch) / גם שימוש בjson שמתקבל מהכתובת וגם קבלת הכתובת עצמה:
אם כבר הייתי משפר את הקוד לככה:
ברשותך, לא הבנתי כמה וכמה חלקים בקוד המשופר... כנראה כתיב מודרני שטרם זכיתי להכיר
לדוגמה:response => response.json()
ו
.then(json => jsonTest(json, tyUrl ) && [json, tyUrl ])
וגם
tyUrl => fetch(`/~netfree/test-url?u=${tyUrl}`
@dovid אמר בעזרה בשרשור פרומיסים (fetch) / גם שימוש בjson שמתקבל מהכתובת וגם קבלת הכתובת עצמה:
קוד יותר טוב אבל שמצריך שינוי בplayCompleted
יש עניין בזה?
playCompleted זה סה"כ פונקציה שמשמיעה צליל סיום, ומופעלת בסיום המערך... -
מדריך | כתיבת סקריפט צד לקוח עבור אתר NodeBB - שימוש בhooksשוב שלום
בפוסט הקודם פירטתי על הוקי פעולה, ויצא מדבריי הרושם שהוק פעולה של צד לקוח חייב להתחיל ב":action
", אבל ישנם גם הוקי פעולה שמתחילים ב":event
" ומאזינים להם בצורה שונה:socket.on('event:new_notification', function (data) { console.log(data); });
קוד זה לדוגמה בודק את ההוק שנוצר בעת שליחת פוסט חדש לנושא קיים; שימו לב שמאזינים ל'socket' ולא ל-window.
Hooks NodeBB Tools
כתבתי סקריפט קטן, שמאפשר בדיקה קלה של הוקים.
אם לדוגמה מוצאים בקוד המקור הוק, אבל לא יודעים בבירור למה הוא משמש, או איזה מידע הוא מחזיר, ניתן להכניס את שם ההוק לסקריפט, ולבצע את הפעולה (למשל עריכת פוסט), וברגע שיופעל האירוע של ההוק - יופץ alert שמודיע איזה הוק הופעל (ניתן לבדוק כמה הוקים בו זמנית), והמידע שמוחזר מההוק יודפס בקונסול.
כאן פירטתי את הוראות ההתקנה.
לאחר ההתקנה פשוט לוחצים על קונטרול + Q, ומייד תוקפץ תיבת קלט להכנסת שם ההוק.
כברירת מחדל הקוד פועל רק באתר תחומים ומתמחים טופ, אבל ניתן כמובן להתאים אישית את רשימת האתרים על פי שורות 8-9 בסקריפט. -
עזרה בשרשור פרומיסים (fetch) / גם שימוש בjson שמתקבל מהכתובת וגם קבלת הכתובת עצמהכמה ביאורים על הקטע קוד שכתבתי (מבוסס על זה) :
arrayYT הוא מערך של כתובות אינטרנט.
הלולאה עוברת על המערך ושולחת כל פעם לכתובת הנתונה בקשה, משרשרת את הפרומיס והופכת אותו לjson שמתקבל מהכתובת.
ואז שולחת חלק מסוים ממנו לפונקציה jsonTest, שבודקת אותו ולפי זה אמורה להחליט מה לעשות עם הכתובת הנתונה (שהלולאה אוחזת בה כעת).arrayYT.forEach((YTurl, index) => { fetch(`https://www.google.com/~netfree/test-url?u=${YTurl}`, {}) .then((response) => { return response.json(); }) .then((json) => { jsonTest(json.block); }) .catch((error) => { console.log(`שגיאה בקבלת נתונים מהכתובת: ${YTurl}. שגיאה: ${error}`); }) .finally(() => { if (index === arrayYT.length - 1) { playCompleted(); } }); });
אלא שאני צריך לשלוח ל-jsonTest גם את הכתובת אינטרנט עצמה, ולא רק את הjson שלה...
ונראה שבמהלך השרשור זה אובד.
ניסיתי להחליף את שורות 3-8 בכזה דבר (פה אני לא שולח בפועל את הנתונים לjsonTest, אלא רק מנסה להדפיס אותם כדי לבודד תקלות):.then((response) => { let json = response.json() console.log(YTurl) console.log("תשובה - json") console.log(json) })
אלא שאז זה אמנם מדפיס את YTurl - שזה הכתובת אינטרנט שבה הלולאה אוחזת, אבל את json זה לא מדפיס אלא כותב לי:
ולא הבנתי למה, הרי then מגיע בשלב שהפרומיס הסתיים כבר...
אשמח לעזרה. -
שאלה למתמצאים בתכנות בנטפרי@בר-בי-רב למעשה כבר כמעט גמרתי לכתוב את הקוד...
נשאר כמה פינישים קטנים, כמו ההדפסה בפועל של התוצאה (האם הסרטון חסום או לא) בדף
מקווה שזה יהיה מוכן היום, אם לא אז בעז"ה מחר -
שאלה למתמצאים בתכנות בנטפרי@בר-בי-רב למעשה כבר מזמן חשבתי לכתוב משהו דומה, אבל לא ידעתי מה לעשות עם הCORS
עכשיו חשבתי על פתרון - פשוט להריץ את זה בדף כלשהו תחת googel.com...
נגיד https://www.google.com/testNetFree
לא משנה שזה מחזיר 404, העיקר זה אותו דומיין...
אני מנסה לעבוד על זה כרגע. -
שאלה למתמצאים בתכנות בנטפרי@בר-בי-רב אתה צריך לבנות כזה כלי שיעשה כמו שאמרתי
@צדיק-תמים אמר בשאלה למתמצאים בתכנות בנטפרי:
לולאה שתבדוק כל סרטון מול שרתי נטפרי כפי שהוסבר כאן
ולפי התגובה למיין את הרשימהבדיוק אתמול נתקלתי בכלי בפייתון שעשוי לעזור (לא מבין בפייתון, יכול להיות שזה לא קשור)
https://pypi.org/project/requestsבכל מקרה אם אתה לא מבין בזה זה בעיה... אתה רוצה לכתוב סקריפט בלי לדעת תכנות
זה לא ממש אפשרי... -
שאלה למתמצאים בתכנות בנטפרי -
בקשה - צלילי שליחת/קבלת הודעות בצ'אטתודה לכולם, יש לי כבר מבחר מספיק.
-
בקשה - צלילי שליחת/קבלת הודעות בצ'אטלצורך פיתוח מסוים אני זקוק לקבצי שמע של כמה סוגים של צלילי שליחת/קבלת הודעה (בסגנון של מה שיש בסקייפ, סלאק וכו').
צלילים קצרים, של מקסימום כשניה, לא צלצול של טלפון וכדומה...
אם יש למישהו כאן, אשמח.
תודה רבה -
תביעת ספאם - מישהו התנסה?@aaron לא יודע אם זה מה שאתה מחפש, אבל אפשר לחסום את הכתובת מייל כך שהמיילים יעברו לספאם / ליצור מסנן שיעביר את ההודעות ישר לאשפה.
-
תיוג מאגרים בגיטאהב@חגי תודה, אבל בדקתי כעת ונראה שאכן התגית (הTopic) מתווסף, אבל אי אפשר להגיע דרכו למאגרים הפרטיים שלי שתייגתי אותם באותה תגית...
בלחיצה על התגית מופיע לי:
ואכן תייגתי עם זה רק מאגר פרטי... -
קושי בהתאמת עמוד להדפסה@שוהם307 כן
CSS
אבל בשביל לבדוק מה בדיוק צריך להגדיר באתר הספציפי, תצטרך לשלוח קישור אליו... -
חיבור המחשב באופן קבוע לשתי רשתות כאשר אחת משמשת לכתובת אחת בלבד@avramk באתר גדול (כמו לדוגמה גוגל דרייב) ה-IP לא משתנה?
כמו כן עברתי כמה פעמים על המראה מקום שהובא פה על ידי @A0533057932, אבל לא הצלחתי לבצע את ההפניה... -
מדריך | כתיבת סקריפט צד לקוח עבור אתר NodeBB - שימוש בhooksשלום לכולם!
זה המדריך הראשון שאני כותב בתכנות, מקווה שיצא מספיק ברור ולא מידי "נמרח" ומתעכב על דברים שפשוטים מאיליהם לכל מתכנת ממוצע...
הערות והארות יתקבלו בשמחה - עדיף בנושא נפרד...
לפני שמתחילים - הבהרה קטנה: המדריך כולו מדבר כרגע אך ורק על הוקי פעולה, בצד לקוח, ולא על הוקים בצד שרת, שמשמשים בכתיבת תוספים, וזאת מהסיבה הפשוטה - שעדיין לא הבנתי איך זה עובד בצד שרת...
אם ניסיתם פעם לכתוב סקריפט עבור אתר NodeBB (לדוגמה הפורום הזה...), ודאי נתקלתם בבעיה - איך להאזין לשינויים בדף.
כלומר אם כתבתם קוד מסוים שאמור לשנות משהו, אפילו שינוי קוסמטי בתיבה של כתיבת הפוסטים, או בתוך חלונית ההתראות/הצ'אטים, הקוד לא ישפיע - כיוון שהאלמנט בעצם לא קיים בזמן טעינת הדף (שאז הסקריפט רץ), ובשונה ממדיה ויקי לדוגמה - הדף לא מתרענן בעת ביצוע פעולות (כמו יצירת פוסט, עריכה שלו, וכן הלאה), וכתובתו לא משתנית.
הסיבה לכך היא שנודביבי משתמשים בשיטה שנקראת הוקים (hook), שזה אומר שהנודביבי "פולט אירועים" לסקופ של window, להם ניתן להאזין בקלות ולבצע פעולות שונות כאשר הם מתבצעים.הנה לדוגמה קוד שמאזין ל
action:composer.topics.post
(שליחה של פוסט חדש בנושא קיים), וכאשר הוא מתבצע, מקפיצים הודעת אישור, ומדפיסים לקונסול את המידע שהוא מחזיר (לדוגמה תוכן הפוסט, מזהה נושא, וכן הלאה).$(window).on("action:composer.posts.reply", function (event, data) { app.alertSuccess("hook 'action:composer.posts.reply' run."); //הודעה console.log(data); //כאן מדפיסים את המידע המפורט יותר שמתקבל מההוק, פירוט בהמשך. });
ניתן כמובן להדפיס גם את התוכן של ה-event.
וכמובן שניתן גם לבצע פעולות שונות על סמך המידע שמתקבל מההוק;
לא לכל פעולה יש הוק נפרד.
לדוגמה עבור מערכת המוניטין, יש רק הוק אחד -action:post.toggleVote
, שמתבצע בכל שינוי בלייקים - מתן/הסרת לייק או מתן/הסרת דיסלייק.
מה קורה אם רוצים לבצע פעולה מסוימת רק במקרה מסוים? כגון רק אם נתנו דיסלייק - להקפיץ הודעה "שימו לב, מתן דיסלייקים ללא הצדקה נוגד את חוקי הפורום ועלול להביא להרחקה"?
בשביל זה צריך לקבל את המידע מההוק, ולהכניס משפט תנאי שיבדוק מה התבצע בדיוק;
הנה דוגמה:$(window).on("action:post.toggleVote", (ev, hookData) => { // כאן נכנס התנאי שבודקים if (hookData.delta === -1 && hookData.unvote === false) { //כפתור 1 = לייק, מצב חדש: כפתור פעיל alert("התווסף דיסלייק"); //הודעה מובנית של הדפדפן - אפשר כמובן להפעיל כל קוד/פונקציה שרוצים. } });
הקוד הזה, לדוגמה, מקפיץ alert פשוט של הדפדפן, כאשר מתרחש אירוע של toggleVote, כאשר ערך ה"delta" - כלומר באיזה כפתור התבצע האירוע, הוא 1-, כלומר לחצן הדיסלייק, והמצב שאליו האירוע הביא את הכפתור, זה false, שזה אומר מצב פעיל. (ההיגיון אומר שזה אמור להיות להיפך, אבל ככה זה עובד...)
וכך ניתן לבודד בדיוק את האירוע שהתרחש באמצעות משפט תנאי פשוט:hookData.delta === 1 && hookData.unvote === false //נתינת לייק hookData.delta === 1 && hookData.unvote === true //הסרת לייק hookData.delta === -1 && hookData.unvote === false //נתינת דיסלייק hookData.delta === -1 && hookData.unvote === true //הסרת דיסלייק
התיעוד שיש - הוא חלקי ביותר, ישנה רק רשימה אוטומטית שלא כוללת כמובן שום הסבר על השימוש בכל הוק, מכילה כפילויות רבות, ולא כוללת למשל הוקים מפורטים עבור המלחין - שזה בעצם מה שיוצר את הממשק שבו כותבים את הפוסטים, כיוון שזה נוצר על ידי תוסף ולא בבסיס הקוד.
בעז"ה בפוסט הבא:
- רשימה של הוקים שימושיים שליקטתי, כולל הוקים מפורטים יותר עבור ה"מלחין" (שזה בעצם מה שיוצר את התיבה שבה כותבים את הפוסטים בפורום), שכמו שכתבתי - אין עליו הוקים ברשימה האוטומטית.
- כלי קטן שכתבתי, לבדיקה בקלות של הוק - מתי הוא מתבצע ואיזה מידע הוא מחזיר.