Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Redis

Upstash Chatbox पेश: आपकी वेबसाइट के लिए निर्बाध लाइव चैट

तत्काल, इंटरैक्टिव संचार संतोषजनक उपयोगकर्ता अनुभव के लिए महत्वपूर्ण है। यही कारण है कि कई कंपनियां अपनी वेबसाइटों पर लाइव चैटबॉक्स विजेट प्रदान करती हैं।

यह क्या है

यह एडमिन चैट पैनल के साथ एक चैटबॉक्स विजेट है, जो उपयोगकर्ताओं को डेवलपर्स/एडमिन से जोड़ता है। इस तरह, साथियों के बीच इंटरैक्टिव संचार स्थापित किया जा सकता है।

यह परियोजना स्टोरेज के लिए Next.js के साथ-साथ Upstash Redis का उपयोग करती है।

उपयोगकर्ता बातचीत शुरू करता है

Upstash Chatbox पेश: आपकी वेबसाइट के लिए निर्बाध लाइव चैट

नए शुरू किए गए चैट के लिए एक सूचना Slack पर जाती है

Upstash Chatbox पेश: आपकी वेबसाइट के लिए निर्बाध लाइव चैट

एडमिन जवाब दे सकते हैं

Upstash Chatbox पेश: आपकी वेबसाइट के लिए निर्बाध लाइव चैट

आप डेमो यहां देख सकते हैं।

ध्यान दें कि चैट आईडी कंसोल में दिखाई जाती है। इसे नोट करें और एडमिन पैनल देखने के लिए /chat/{id} पर जाएं और दोनों इंटरफेस एक-दूसरे के साथ कैसे इंटरैक्ट करते हैं।

1. डेटाबेस और पर्यावरण चर बनाएं

डेटा Upstash Redis पर रखा जाएगा।

Upstash Console पर एक फ्री Redis डेटाबेस बनाएं

.env.local.example फाइल को .env.local में कॉपी करें (जिसे Git द्वारा अनदेखा किया जाएगा):

cp .env.local.example .env.local 
  • UPSTASH_REDIS_REST_URL और UPSTASH_REDIS_REST_TOKEN Upstash Console में डेटाबेस विवरण पेज पर पाए जा सकते हैं।
  • SLACK_WEBHOOK_URL https://api.slack.com/messaging/webhooks पर Slack इंटीग्रेशन पेज पर पाया जा सकता है

2. पैकेज इंस्टॉल करें

yarn add @upstash/chatbox 

3. CSS और विजेट आयात करें

// pages/_app.js 
 import "@upstash/chatbox/index.css"; 
import dynamic from "next/dynamic"; 
 const ChatBoxWidget 
= dynamic({ 
 loader: () => import("@upstash/chatbox").then((mod) => mod.ChatBoxWidget), 
 ssr: false, 
}); 
 export 
default 
function 
MyApp({ Component, pageProps }) 
{ 
 
return 
( 
 <>    
 
); 
} 

विकल्पों को React props के रूप में पास किया जा सकता है

key type default
themeColor? string #2d00c6
textColor? string #fff
title? string Hi 👋
description? string Ask us anything, or share your feedback.
showOnInitial? boolean false
customIcon? React.ReactElement

4. एडमिन डैशबोर्ड

// pages/chat/[id].js 
 import dynamic from "next/dynamic"; 
 const ChatBoxAdmin 
= dynamic({ 
 loader: () => import("@upstash/chatbox").then((mod) => mod.ChatBoxAdmin), 
 ssr: false, 
}); 
 export 
default 
function 
() 
{ 
 
return ; 
} 

5. API बनाएं

// pages/api/chatbox/[...chatbox].js 
 import createChatBoxAPI from "@upstash/chatbox/api"; 
 const ChatBoxAPI 
= createChatBoxAPI({ 
 webhooks: [process.env.SLACK_WEBHOOK_URL], 
}); 
 export 
default 
ChatBoxAPI; 

बधाई हो!

अब आपके पास उपयोगकर्ताओं के लिए अपना खुद का चैटबॉक्स है! आनंद लें!

आप सोर्स कोड यहां और npm पैकेज यहां देख सकते हैं।

इस परियोजना या सामान्य रूप से, हम आपके फीडबैक और विचारों की अत्यधिक सराहना करते हैं। यदि आप हमारी सेवाओं पर कोई फीडबैक या विचार देना चाहते हैं, तो आप Twitter या Discord के माध्यम से ऐसा कर सकते हैं।

  1. जावाएफएक्स में टेक्स्ट ओरिजिन क्या है जावाएफएक्स में टेक्स्ट ओरिजिन क्या है

    नोड्स को पोजीशन करने के लिए स्थानीय कोऑर्डिनेट सिस्टम के अलावा, जावाएफएक्स टेक्स्ट नोड के लिए एक अतिरिक्त कोऑर्डिनेट सिस्टम प्रदान करता है। textOrigin प्रॉपर्टी पैरेंट कोऑर्डिनेट सिस्टम में टेक्स्ट नोड के कोऑर्डिनेट्स के मूल को निर्दिष्ट करती है। आप setTextOrigin() मेथड का उपयोग करके इस प्रॉपर्टी क

  1. रेडिस इनसाइडर एंबेसडर प्रोग्राम पेश करना रेडिस इनसाइडर एंबेसडर प्रोग्राम पेश करना

    हम अपना पहला एंबेसडर प्रोग्राम लॉन्च करने के लिए उत्साहित हैं: रेडिस इनसाइडर्स। रेडिस ओपन सोर्स है और दुनिया भर में इसके लाखों उपयोगकर्ता हैं। यह हमारे डेवलपर समुदाय को हमारे उत्पादों के केंद्र में रखता है। हम अपने सबसे समर्पित और भावुक समुदाय के सदस्यों के साथ मिलकर काम करने के लिए उत्सुक हैं ताकि

  1. AptWatcher पेश: आपके सर्वरों के लिए निर्बाध Apt पैकेज अपडेट प्रबंधन AptWatcher पेश: आपके सर्वरों के लिए निर्बाध Apt पैकेज अपडेट प्रबंधन

    हनीबैजर में हम अपने सभी सर्वरों पर apt पैकेज अपडेट की निगरानी के लिए apticron का उपयोग कर रहे थे। पहले apticron के ईमेल मेरे इनबॉक्स में आते थे, लेकिन किसी बिंदु पर मैंने तय किया कि मैं उन्हें अपने स्लैक नोटिफिकेशन चैनल में प्राप्त करना पसंद करूंगा। स्लैक में एक उपयोगी ईमेल ऐप है जो ईमेल प्राप्त करक