ପରାଜୟରେ ସଂଗୀତ ପାଇଁ କିପରି ବଟ୍ ତିଆରି କରିବେ |

Anonim

ପରାଜୟରେ ସଂଗୀତ ପାଇଁ କିପରି ବଟ୍ ତିଆରି କରିବେ |

ଏହି ଆର୍ଟିକିଲରେ, ଡିସ୍କୋଡିରେ ମ୍ୟୁଜିକ୍ ବଜାଇବା ପାଇଁ ଆମେ ହସ୍ତକୃତ ଭାବରେ କଥା ହେବା ବିଷୟରେ ଆଲୋଚନା କରିବୁ | ଆପଣ କେବଳ ସମଗ୍ର ଦାଖଲିତ କୋଡ୍ କପି କରିପାରିବେ ଏବଂ ଯଦି ତୁମର ଜାଭାସ୍କ୍ରିପ୍ଟ କ skills ଶଳର କ skills ଶଳର କ skills ଶଳ ଯଦି ଏହାକୁ ଏଡିଟ୍ କରିପାରିବ | ବଟ୍ ଆମ ଦ୍ୱାରା ସୃଷ୍ଟି କରାଯାଇଥିଲା, କିନ୍ତୁ କିଛି ପର୍ଯ୍ୟାୟରେ ଉପଭୋକ୍ତା ତଥାପି ବିଭିନ୍ନ ସମସ୍ୟା ସମ୍ମୁଖୀନ ହୋଇପାରିବେ, ତେଣୁ ଯଦି ଆମର ନିର୍ଦ୍ଦେଶ ନାହିଁ, ବରଂ ସ୍କ୍ରିନ୍ ତ୍ରୁଟି ସଂସାରଗୁଡ଼ିକ ଉପରେ ଦେଖାଯାଇଥିବା ପରାମର୍ଶ ଦିଅନ୍ତୁ |

ଯଦି ଏହା ଦେଖାଯାଏ ଯେ ଏହି ସାମଗ୍ରୀ ଆପଣଙ୍କ ପାଇଁ ଅତ୍ୟଧିକ ଜଟିଳ ହୋଇଛି କିମ୍ବା ଅନ୍ୟ କାରଣଗୁଡିକ ପାଇଁ ଉପଯୁକ୍ତ ନୁହେଁ, ସଙ୍ଗୀତ ବଜାଇବା ପାଇଁ ପ୍ରସ୍ତୁତ ମାଗଣା ବଟ୍ ବ୍ୟବହାର କରନ୍ତୁ | ନିମ୍ନରେ ଥିବା ଲିଙ୍କରେ ଥିବା ପ୍ରବନ୍ଧରେ ଆପଣ ଏହା ବିଷୟରେ ବିସ୍ତୃତ ସୂଚନା ପାଇବେ ଏବଂ ଆପଣ କାର୍ଯ୍ୟକୁ କାର୍ଯ୍ୟକାରୀ କରିପାରିବେ |

ଆହୁରି ପଢ:

ମତାମତରେ ସର୍ଭରରେ ଏକ ମ୍ୟୁଜିକାଲ୍ ବଟ୍ ଯୋଡିବା |

ଅସନ୍ତୁଷ୍ଟରେ ବଟ୍ ମାଧ୍ୟମରେ ସଂଗୀତ ବଜାନ୍ତୁ |

ପଦାଙ୍କ 1: ଏକ ନୂତନ ପ୍ରୟୋଗ ସୃଷ୍ଟି କରିବା |

ଭର୍ତ୍ତି ହୋଇଥିବା ପରମ୍ପରା ପାଇଁ ପ୍ରତ୍ୟେକ ବଟ୍ ବିକାଶକାରୀଙ୍କ ପାଇଁ ଅଧିକାରୀ ପୋର୍ଟାଲରେ ପଞ୍ଜିକୃତ ହେବା ଜରୁରୀ | ତେଣୁ ଆପଣ ବିଭାଜନର ସାଧାରଣ ଆଚରଣ ସହିତ ଜଡିତ ସମସ୍ତ ଆବଶ୍ୟକୀୟ ସେଟିଂସମୂହ ଏବଂ ବଟ୍ ସହିତ ଜଡିତ ସମସ୍ତ ଆବଶ୍ୟକୀୟ ସେଟିଂସମୂହକୁ ପ୍ରବେଶ କରିପାରିବେ, ଆପଣ ବ୍ୟକ୍ତିଗତ ସର୍ଭରରେ ଏହାର ପ୍ରାଧିକରଣରେ ସଂଯୋଗକୁ କପି କରିପାରିବେ, ଯାହା କମାଣ୍ଡର ଅଧିକ ବିକାଶ ବ୍ୟବହାର କରିପାରିବେ |

ରିହାତି ବିକାଶକାରୀ ପୋର୍ଟାଲର ଅଫିସିଆଲ୍ ୱେବସାଇଟ୍ କୁ ଯାଆନ୍ତୁ |

  1. ବିକାଶକାରୀଙ୍କ ପାଇଁ ପୋର୍ଟାଲର ମୁଖ୍ୟ ପୃଷ୍ଠା ଖୋଲିବାକୁ ଉପର ଲିଙ୍କକୁ ବ୍ୟବହାର କରନ୍ତୁ, ଡିସ୍କୋଦ ବ୍ୟକ୍ତିଗତ ଆକାଉଣ୍ଟକୁ ଲଗ୍ ଇନ୍ କରନ୍ତୁ ଏବଂ ଏକ ନୂତନ ପ୍ରୟୋଗ ସୃଷ୍ଟି କରିବାକୁ "ନୂତନ ପ୍ରୟୋଗ" ଉପରେ କ୍ଲିକ୍ କରନ୍ତୁ |
  2. ଅସନ୍ତୁଷ୍ଟରେ ଏକ ସଂଗୀତ ବଟ୍ ତିଆରି କରିବାକୁ ଏକ ନୂତନ ପ୍ରୟୋଗ ପଞ୍ଜୀକରଣ କରିବାକୁ ଯାଆନ୍ତୁ |

  3. ସ୍ୱତନ୍ତ୍ରତାଗୁଡ଼ିକୁ ଦିଆଯାଇଛି, କାରଣ ଯଦି ସମାନ ନାମ ସହିତ ଅନେକ ଅଳିଆ ଅଛି, ଏହାକୁ ସୃଷ୍ଟି କରିବା ସମ୍ଭବ ନୁହେଁ - ପ୍ରତିକ୍ରିୟାର ଏକ ବିଜ୍ଞପ୍ତି ବିଜ୍ଞପ୍ତି ଦିଆଯାଇଛି |
  4. ଅସନ୍ତୋଷରେ ଏକ ସଂଗୀତ ବଟ୍ ତିଆରି ପାଇଁ ଏକ ନୂତନ ଆବେଦନ ପଞ୍ଜୀକୃତ କଲାବେଳେ ନାମ ପ୍ରବେଶ କରନ୍ତୁ |

  5. ସମାପ୍ତ ହେବା ପରେ, ସାଇଟରେ ଥିବା ମେନୁ ଖୋଲନ୍ତୁ ଏବଂ "ବଟ୍" ବର୍ଗ ଚୟନ କରନ୍ତୁ |
  6. ମତାମତରେ ଏକ ସଂଗୀତ ବଟ୍ ସୃଷ୍ଟି କରିବାକୁ ଏକ ନୂତନ ପ୍ରୟୋଗର ଉପାଦାନଗୁଡ଼ିକୁ ସଂଯୋଗ କରିବାକୁ ଯାଆନ୍ତୁ |

  7. "ନିର୍ମାଣ-ଏ-ବଟ୍" ଷ୍ଟ୍ରିଙ୍ଗ୍ ବନ୍ଦ "ଯୋଡିବା" ଉପରେ କ୍ଲିକ୍ କର "
  8. ଡିସ୍କଲାରେ ଏକ ମ୍ୟୁଜିକାଲ୍ ବଟ୍ ସୃଷ୍ଟି କରିବାକୁ ଏକ ନୂତନ ପ୍ରୟୋଗର ବଟନ୍ ଉପାଦାନଗୁଡ଼ିକୁ ସଂଯୋଗ କରିବା |

  9. ମନୋନୀତ ପ୍ରୟୋଗ ପାଇଁ ବଟ୍ ର ଯୋଗ ନିଶ୍ଚିତ କରନ୍ତୁ |
  10. ମତଭେଦରେ ଏକ ମ୍ୟୁଜିକାଲ୍ ବଟ୍ ସୃଷ୍ଟି କରିବାକୁ ଏକ ନୂତନ ପ୍ରୟୋଗର ଏକ ନୂତନ ପ୍ରୟୋଗର ନିଶ୍ଚିତକରଣ |

  11. ଏକ ପରିଚିତ ମେନୁ ମାଧ୍ୟମରେ, «outh2» କୁ ଯାଆନ୍ତୁ |
  12. ଅସନ୍ତୁଷ୍ଟରେ ଏକ ସଂଗୀତ ବଟ୍ ସୃଷ୍ଟି କରିବାକୁ ସେଟିଂସମୂହ ପୃଷ୍ଠା ପ୍ରୟୋଗକୁ ଯାଆନ୍ତୁ |

  13. ଏହି ବିଭାଗଟି ବଟ୍ ଏବଂ ଏହାର ପ୍ରାଧିକରଣର ସାଧାରଣ ପାରାମିଟର ପାଇଁ ଦାୟୀ | "ସ୍କୋପ୍ସ" ବ୍ଲକ୍ ରେ "ବଟ୍" ଅନୁଚ୍ଛେଦକୁ ଚିହ୍ନିତ କର |
  14. ଅସନ୍ତୁଷ୍ଟରେ ଏକ ସଂଗୀତ ବଟ୍ ସୃଷ୍ଟି କରିବାକୁ ପ୍ରୟୋଗର ପ୍ରୟୋଗର ପ୍ରକାର ଚୟନ କରନ୍ତୁ |

  15. ତ୍ରୁଟି ତାଲିକାରେ, ଭଏସ ଚ୍ୟାନେଲଗୁଡ଼ିକୁ ସଂଯୋଗକୁ ସକ୍ରିୟ କରିବାକୁ ନିଶ୍ଚିତ ହୁଅନ୍ତୁ, ଯେପରି ପରବର୍ତ୍ତୀ ବ୍ରୋଡକାଷ୍ଟିଂ ମ୍ୟୁଜିକ୍ ପାଇଁ ଏହା ଆବଶ୍ୟକ |
  16. ମତାମତରେ ଏକ ସଂଗୀତ ବଟ୍ ସୃଷ୍ଟି ପାଇଁ ଏକ ଆବେଦନ ସେଟ୍ ଅପ୍ କରିବା ସମୟରେ ଭଏସ୍ ଚ୍ୟାନେଲ ଅନୁମତିଗୁଡିକ ଖୋଜ |

  17. ବଟ୍ ବାର୍ତ୍ତା ପ read ିବାକୁ ସକ୍ଷମ ହେବା ଉଚିତ, ତେଣୁ ଟେକ୍ସଟ୍ ଚାଟ୍ ଅନୁମତି ସହିତ ଏହି ବିକଳ୍ପଗୁଡ଼ିକୁ ବିଭାଗରେ ସକ୍ଷମ କରିବାକୁ ଭୁଲନ୍ତୁ ନାହିଁ | ଅବଶ୍ୟ, ଆପଣ ସମସ୍ତ ଏକ ଅନୁମତି ପ୍ରଦାନ କରିପାରିବେ, କିନ୍ତୁ ଏହି ଉପାୟ ଅବିଶ୍ୱସନୀୟ, ବିଶେଷତ was ଣସି କ୍ଷେତ୍ରରେ ଯେଉଁଠାରେ ଆପଣ ଏକ ଜନ ବ୍ୟବହାରକାରୀଙ୍କ ପାଇଁ ଏକ ବଟ୍ ତିଆରି କରନ୍ତି |
  18. ଡିସ୍କୋଡାର୍ଡରେ ଏକ ସଂଗୀତ ବଟ୍ ତିଆରି ପାଇଁ ଏକ ଆବେଦନ ସେଟ୍ ଅପ୍ କରିବାବେଳେ ପାଠ୍ୟ ଚ୍ୟାନେଲ ଅନୁମତିଗୁଡିକ ଖୋଜ |

  19. ଅନୁମତି ସେଟିଂ ସମାପ୍ତ ହେବା ମାତ୍ରେ, ସର୍ଭରରେ ବଟ୍ ର ପ୍ରଥମ ପ୍ରାଧିକରଣ ପାଇଁ ଲିଙ୍କ୍ କପି କରନ୍ତୁ, କାରଣ ଅନ୍ୟଥା ଏହାକୁ ଯୋଡନ୍ତୁ ଯେପର୍ଯ୍ୟନ୍ତ ଏହା ଘେରି ରହିବା ପର୍ଯ୍ୟନ୍ତ ଏହାକୁ ଯୋଡନ୍ତୁ |
  20. ମତାମତରେ ଏକ ସଂଗୀତ ବଟ୍ ସୃଷ୍ଟି କରିବାକୁ ରେଫରେନ୍ସ ଟୁଲ୍ ପ୍ରାଧିକରଣ କପି କରନ୍ତୁ |

  21. ଏହି ଲିଙ୍କ୍ ଅନୁସରଣ କରନ୍ତୁ ଏବଂ ପରୀକ୍ଷଣ ସର୍ଭର ଚୟନ କରନ୍ତୁ ଯେଉଁଠାରେ ଆପଣ ବଟ୍ ଯାଞ୍ଚ କରିବାକୁ ଚାହୁଁଛନ୍ତି |
  22. ଅସନ୍ତୁଷ୍ଟରେ ଏକ ମ୍ୟୁଜିକାଲ୍ ବଟ୍ ତିଆରି କରିବାକୁ ଲିଙ୍କ୍ ପରେ ପ୍ରଥମ ପ୍ରାଧିକରଣ |

  23. କ୍ୟାପଚର ନିଶ୍ଚିତ କରନ୍ତୁ ଏବଂ ସଫଳ ପ୍ରାଧିକରଣ ବିଷୟରେ ସୂଚନା ପାଇଁ ଅପେକ୍ଷା କରନ୍ତୁ |
  24. ଅସନ୍ତୁଷ୍ଟରେ ଏକ ମ୍ୟୁଜିକାଲ୍ ବଟ୍ ସୃଷ୍ଟି କରିବାକୁ ଏକ ଲିଙ୍କ୍ ପରେ ସଫଳ ପ୍ରାଧିକରଣ |

ବର୍ତ୍ତମାନ ଆପଣଙ୍କର ଏକ ଅନନ୍ୟ ଟୋକନ୍ ସହିତ ଏକ ବଟ୍ ଅଛି, ଏବଂ ସର୍ଭର ସର୍ଭର ସହିତ ଯୋଡା ଯାଇଛି, କିନ୍ତୁ ଅଫ୍ ଆଟ୍ ମୋଡ୍ ରେ | ଏହାକୁ ଆରମ୍ଭ କରିବା ପାଇଁ, ଏହାକୁ ସ୍ଥାନୀୟ କମ୍ପ୍ୟୁଟରରେ ଆଉ କିଛି କାର୍ଯ୍ୟ କରିବାକୁ ପଡିବ, ଯେହେତୁ ଆମେ ଅଫଲାଇନ୍ ଅପରେଟିଂ ପାଇଁ ବଟିଙ୍ଗ ବଟିଂକୁ ଅନଲୋଡ୍ କରୁନାହୁଁ |

ପଦାଙ୍କ 2: ପ୍ରସ୍ତୁତି କାର୍ଯ୍ୟ |

ପ୍ରସ୍ତୁତି କାର୍ଯ୍ୟଗୁଡ଼ିକରେ ଆବଶ୍ୟକ ଡିରେକ୍ଟୋରୀ ଏବଂ ଫାଇଲଗୁଡିକର ସୃଷ୍ଟି ଅନ୍ତର୍ଭୁକ୍ତ କରେ, ସେମାନଙ୍କ ପାଇଁ ସାଧନ ଓ ନିର୍ଭରଶୀଳତା ସୃଷ୍ଟି କରେ | ଏଥିରେ କିଛି ଜଟିଳ କିଛି ନାହିଁ, ଆପଣଙ୍କୁ କେବଳ ପ୍ରତ୍ୟେକ କାର୍ଯ୍ୟ କରିବା ଆବଶ୍ୟକ, ଯେକ any ଣସି ପର୍ଯ୍ୟାୟରେ ତ୍ରୁଟି ପରେ ଯତ୍ନର ସହ ଯତ୍ନର ସହ କିଛି କାର୍ଯ୍ୟ କରିବା ଆବଶ୍ୟକ କରନ୍ତି |

  1. ବଟ୍ ନାମ ସହିତ ଏକ ଫୋଲ୍ଡର ସୃଷ୍ଟି କରନ୍ତୁ | ଆପଣ ଯେକ place ଣସି ସ୍ଥାନ ବାଛିପାରିବେ, କିନ୍ତୁ ବ୍ୟବହାରକାରୀର ଘର ଫୋଲ୍ଡର ଏଥିପାଇଁ ସର୍ବୋତ୍ତମ ଅଟେ |
  2. ଅସନ୍ତୁଷ୍ଟରେ ଏକ ମ୍ୟୁଜିକାଲ୍ ବଟ୍ ତିଆରି କରିବାକୁ ଏକ କଷ୍ଟମ୍ ଫୋଲ୍ଡର୍ ଯୋଗ କରିବା |

  3. ଏଥିରେ ଦୁଇଟି ଫାଇଲ୍ ସୃଷ୍ଟି କରନ୍ତୁ: "configet.jss" ଏବଂ "index.js" | ପ୍ରଥମରେ ବଟ୍ ର ସାମଗ୍ରିକ ବିନ୍ୟାସ - ଏହାର ଉପସର୍ଗ ଏବଂ ଅନନ୍ୟ ଟୋକନ୍ ଏବଂ ଦ୍ୱିତୀୟରେ - ଏହି ଉପକରଣର ନିର୍ଦ୍ଦେଶ ଏବଂ ସାଧାରଣ କାର୍ଯ୍ୟ ସହିତ ସମ୍ପୂର୍ଣ୍ଣ ସଫ୍ଟୱେର୍ କୋଡ୍ |
  4. ଅସନ୍ତୁଷ୍ଟରେ ଏକ ମ୍ୟୁଜିକାଲ୍ ବଟ୍ ସୃଷ୍ଟି କରିବାକୁ ଏକ କଷ୍ଟମ ଫୋଲ୍ଡରରେ ଫାଇଲ୍ ଯୋଡିବା |

  5. ବଟ୍ କାମ ପାଇଁ ନୋଡେ.js ଦରକାର | ଏହି ଉପକରଣଟି ସ୍ଥାନୀୟ କମ୍ପ୍ୟୁଟରରେ ସ୍କ୍ରିପ୍ଟ ଆରମ୍ଭ କରିବା ପାଇଁ ଡିଜାଇନ୍ ହୋଇଛି | ନିମ୍ନରେ ଲିଙ୍କ୍ ଅନୁସରଣ କରି ୱିଣ୍ଡୋଜ୍ ପାଇଁ ଏହାର ସଂସ୍ଥାପକ ଡାଉନଲୋଡ୍ କରନ୍ତୁ |

    ଅଫିସିଆଲ୍ ସାଇଟରୁ node.js ଡାଉନଲୋଡ୍ କରନ୍ତୁ |

  6. ଅସନ୍ତୁଷ୍ଟରେ ଏକ ସଂଗୀତ ବଟ୍ ସୃଷ୍ଟି କରିବାକୁ ଏକ ଉପାଦାନ ଡାଉନଲୋଡ୍ କରିବା |

  7. ଏକଜେକ୍ୟୁନିକ ଫାଇଲକୁ ଏକଜେକ୍ୟୁଟେବଲ୍ ଡାଉନଲୋଡ୍ କରିବାକୁ ଆଶା କର, ଚଲାନ୍ତୁ ଏବଂ ପରଦାରେ ପ୍ରଦର୍ଶିତ ନିର୍ଦ୍ଦେଶାବଳୀ ଅନୁସରଣ କରନ୍ତୁ |
  8. ଡିସ୍କଲାରେ ଏକ ସଂଗୀତ ବଟ୍ ସୃଷ୍ଟି କରିବା ଏବଂ ଏକ ଉପାଦାନ ସ୍ଥାପନ କରିବା |

  9. ଏହା ପରେ, ଆପଣଙ୍କ ପାଇଁ "କମାଣ୍ଡ୍ ଲାଇନ୍" ଖୋଲ, ଉଦାହରଣ ପାଇଁ, "ରନ୍" ଉପଯୋଗୀତା ରେ cmd ପ୍ରବେଶ (ଏହା Win + r କିଗୁଡ଼ିକ ମିଶ୍ରଣରେ ଆରମ୍ଭ କରେ) |
  10. ମତଭେଦରେ ଏକ ସଂଗୀତ ବଟ୍ ତିଆରି କରିବାକୁ କମାଣ୍ଡ୍ ଲାଇନ୍ ଚଲାଇବା |

  11. ଅସନ୍ତୁଷ୍ଟ API ସହିତ କାମ କରିବାକୁ ମଡ୍ୟୁଲ୍ ସଂସ୍ଥାପନ କରନ୍ତୁ, ଯାହାକୁ "disbud.js" କୁହାଯାଏ | ଏହା କରିବା ପାଇଁ, ଖୋଲିଥିବା କୋନସୋଲ ୱିଣ୍ଡୋରେ NPM ସଂସ୍ଥାପନ DISD.JS FFMPEG-BinREISTIVES OPNURES OPTLP-CORECE - ତେଣୁ ଆପଣ ତୁରନ୍ତ ସମସ୍ତ ଆବଶ୍ୟକୀୟ ନିର୍ଭରଶୀଳତା ଯୋଡନ୍ତୁ ଏବଂ ଦବାନ୍ତୁ |
  12. ଅସନ୍ତୁଷ୍ଟରେ ଏକ ସଂଗୀତ ବଟ୍ ସୃଷ୍ଟି କରିବାକୁ ଅତିରିକ୍ତ ମଡ୍ୟୁଲ୍ ସେଟିଂ କମାଣ୍ଡ |

  13. ସାମ୍ପ୍ରତିକ କନସୋଲ୍ ୱିଣ୍ଡୋ ବନ୍ଦ ନକରି ସ୍କ୍ରିନ୍ ଉପରେ ବିଜ୍ଞପ୍ତିଗୁଡିକ ଅନୁସରଣ କରିବାକୁ ଅପେକ୍ଷା କରନ୍ତୁ | ଯଦି ତ୍ରୁଟି ଦେଖାଯାଏ, ସେମାନଙ୍କ କୋଡ୍ ଶିଖନ୍ତୁ ଏବଂ ଫୋରମ୍ କିମ୍ବା ଅଫିସିଆଲ୍ ୱେବସାଇଟରେ ଏକ କାର୍ଯ୍ୟ ନିଷ୍ପତ୍ତି ଖୋଜିବା ପାଇଁ ସନ୍ଧାନ ଇଞ୍ଜିନ୍ ବ୍ୟବହାର କରନ୍ତୁ ଏବଂ ସର୍ଚ୍ଚ ଇଞ୍ଜିନ୍ ବ୍ୟବହାର କରନ୍ତୁ |
  14. ଅସଦାଚରଣର ଏକ ସଂଗୀତ ବଟ୍ ତିଆରି ପାଇଁ ଅତିରିକ୍ତ ମଡ୍ୟୁଲଗୁଡ଼ିକର ସ୍ଥାପନ ପ୍ରକ୍ରିୟା |

ଫଳସ୍ୱରୂପ, ଉପଭୋକ୍ତାଙ୍କର ହୋମ୍ ଫୋଲ୍ଡ ଫୋଲ୍ଡର୍ ନୋଡ୍ .ଜ୍ ଉପାଦାନ ସହିତ ଜଡିତ ଫାଇଲଗୁଡ଼ିକୁ ଫାଇଲଗୁଡ଼ିକୁ ଦୃଶ୍ୟମାନ ହେବା ଉଚିତ ଏବଂ ମଡ୍ୟୁଲ ପରେ ଯୋଗ କରାଯିବା ଉଚିତ | କମ୍ପ୍ୟୁଟରକୁ ପୁନ Rest ଆରମ୍ଭ କରନ୍ତୁ ଯାହା ଦ୍ the ାରା ବଟ୍ ଷ୍ଟାର୍ଟଅପ୍ ନାହିଁ, ତା'ପରେ ପରବର୍ତ୍ତୀ ପଦକ୍ଷେପକୁ ଯାଆନ୍ତୁ |

ପଦାଙ୍କ 3: ବଟ୍ ବିନ୍ୟାସ ଫାଇଲ୍ ଏଡିଟ୍ କରିବା |

ଆପଣ ପୂର୍ବରୁ ଜାଣିଛନ୍ତି ଯେ ସୃଷ୍ଟି ହୋଇଥିବା ବଟ ବିନ୍ୟାସ ଫାଇଲରେ ମଧ୍ୟ ବ୍ୟବହୃତ ଉପସାଗ (ସର୍ଭରରେ କମାଣ୍ଡରେ ପ୍ରବେଶ କରିବା ପୂର୍ବରୁ ଦାୟୀ, ଏବଂ ଏକ ଅନନ୍ୟ ରଙ୍ଗର ପଦକ୍ଷେପ) ଏବଂ API ରେ ପ୍ରୟୋଗକୁ ବ୍ୟାଖ୍ୟା କରେ | ଅନ୍ୟ ଅଧିକ କାର୍ଯ୍ୟ ପୂରଣ କରିବାକୁ, ଆମେ JS PSCEinux ସବିଶେଷ ତଥ୍ୟ କିମ୍ବା ଯେକ any ଣସି ଉନ୍ନତ ପାଠ୍ୟ ସମ୍ପାଦକ ସହିତ ଏକ ପ୍ରୋଗ୍ରାମ୍ ଡାଉନଲୋଡ୍ କରିବାକୁ ସୁପାରିଶ କରୁ | ନିମ୍ନରେ ଥିବା ଲିଙ୍କରେ ଥିବା ପ୍ରବନ୍ଧଗୁଡ଼ିକ ଆପଣ ଉପଲବ୍ଧ ଉପଯୁକ୍ତ ସମାଧାନ ସହିତ ନିଜକୁ ପରିଚିତ କରିବାକୁ ସମର୍ଥ ହେବେ |

ଅଧିକ ପ readନ୍ତୁ: ପ୍ରୋଗ୍ରାମିଂ ପାଇଁ ବିକାଶ ପରିବେଶ ଚୟନ କରିବା |

ଏହା କମ୍ପ୍ୟୁଟରରେ ସଂସ୍ଥାପିତ ହେବା ମାତ୍ରେ ଏବଂ କାମ କରିବାକୁ ପ୍ରସ୍ତୁତ, ଆପଣ ନିରାପଦରେ ବିନ୍ୟାସ ଫାଇଲ୍ ସଂପାଦନ କରିବା ଠାରୁ ଏକ ବିନ୍ୟାସ ଫାଇଲକୁ ଏଡିଟ୍ କରିବା, ବିନ୍ୟାସ ଫାଇଲ୍ ବ୍ୟବହାର କରିବା ଆରମ୍ଭ କରିପାରିବେ, ଯାହା ଆପଣଙ୍କର ବ୍ୟବହାରକାରୀ ତଥ୍ୟ ପ୍ରବେଶ କରିବା ପାଇଁ ସୁରକ୍ଷିତ ଭାବରେ ଆରମ୍ଭ କରିପାରିବେ |

  1. ଏକ ଟେକ୍ସଟ୍ ଏଡିଟର୍ କିମ୍ବା ବିକାଶ ପରିବେଶ ମାଧ୍ୟମରେ CONFIF.JS ଫାଇଲ୍ ଚଲାନ୍ତୁ, ନିମ୍ନରେ କୋଡ୍ ଭର୍ତ୍ତି କରନ୍ତୁ |

    {

    "ଉପସର୍ଗ": "!",

    "ଟୋକନ୍": "ତୁମର-ଟୋକେ"

    }

    ଅସମ୍ମାନର ଏକ ସଂଗୀତ ବଟ୍ ତିଆରି କରିବା ପାଇଁ ଏକ ବିନ୍ୟାସ ଫାଇଲକୁ ସଂପାଦନ କରିବା ସମୟରେ ଉପସର୍ଗ ପରିବର୍ତ୍ତନ କରିବା |

    ପ୍ରିଫିକ୍ସକୁ ଅକ୍ଷମ ମୂଲ୍ୟରେ ଡବଲ୍ କୋଟ୍ ଗୁଡିକୁ ପରିବର୍ତ୍ତନ କରନ୍ତୁ କିମ୍ବା ଏକ ବିସ୍ମୟ ଚିହ୍ନ ଛାଡିବାକୁ | ଏହି ସଙ୍କେତ ବ୍ୟବହାର କରି ଏକ ନିର୍ଦ୍ଦେଶର ଏକ ଉଦାହରଣ ଏହିପରି ଦେଖାଯାଏ:! ଖେଳ |

  2. ବିକାଶ ପୋର୍ଟାଲରେ ଆପଣଙ୍କର ବଟ୍ କୁ ଯାଆନ୍ତୁ, ସେଠାରେ ଏକ ଅନନ୍ୟ ଟୋକେନ୍ ସନ୍ଧାନ କରନ୍ତୁ ଏବଂ ଏହାକୁ କପି କରନ୍ତୁ |
  3. ଅସନ୍ତୁଷ୍ଟରେ ଏକ ସଂଗୀତ ବଟ୍ ତିଆରି କରିବାକୁ ଅନନ୍ୟ ଟୋକେନ୍ କପି କରିବା |

  4. ଡବଲ୍ କୋଟ୍ସ ଡିଲିଟ୍ ନକରି ଏହା ବଦଳରେ ଆପଣଙ୍କର-ଟୋକି ଇନସପେକ୍ଟ ସନ୍ନିବେଶ କରନ୍ତୁ |
  5. ଅସନ୍ତୁଷ୍ଟରେ ଏକ ସଂଗୀତ ବଟ୍ ତିଆରି କରିବା ପାଇଁ ଏକ ବିନ୍ୟାସ ଫାଇଲରେ ଏକ ଅନନ୍ୟ ଟୋକେନ୍ ବଦଳାଇବା |

  6. ପରିବର୍ତ୍ତନଗୁଡିକ ସେଭ୍ କରନ୍ତୁ ଏବଂ ଏହି ଫାଇଲ୍ ବନ୍ଦ କରନ୍ତୁ | ବାସ୍ତବରେ, ଆପଣ ଏକ ମାନକ "ମାଧ୍ୟମରେ ସମାନ କାର୍ଯ୍ୟ କରିପାରିବେ" ନୋଟବୁକ୍ "ମାଧ୍ୟମରେ ସମାନ କାର୍ଯ୍ୟ କରିପାରିବେ |
  7. ଅସଦାଚରଣ ଏକ ମ୍ୟୁଜିକ୍ ବଟ୍ ତିଆରି କରିବା ପାଇଁ ଏକ ବିନ୍ୟାସ ଫାଇଲ ସଂପାଦନ କରିବା ସମୟରେ ଏକ ବିନ୍ୟାସ ଫାଇଲଗୁଡ଼ିକୁ ସଂପାଦନ କରିବା ସମୟରେ |

ବିନ୍ୟାସ ଫାଇଲ ସମାପ୍ତ ହେବା ସହିତ ଏହି କାର୍ଯ୍ୟଗୁଡ଼ିକ ସମାପ୍ତ ହୋଇଛି, ତେବେ ଆଉ ଗୋଟିଏ ଅଂଶକୁ ଦର୍ଶାଇବାକୁ ଆଉ ନାହିଁ | ସୃଷ୍ଟି ହୋଇଥିବା ସମ୍ପାଦନାକୁ ସେଭ୍ କରିବାକୁ ନଆସିବା ବିନା ଏହାକୁ ବନ୍ଦ ନକରି, ଏବଂ ସଙ୍ଗୀତ ବଜାଇବା ପାଇଁ ବଟ୍ ଲେଖିବାକୁ ଅଗ୍ରଗତି କରନ୍ତୁ |

ପଦାଙ୍କ 4: ପରୀକ୍ଷା ଆରମ୍ଭ ବଟ୍ |

ପ୍ରଥମେ, ଆମକୁ ନିଶ୍ଚିତ କରିବାକୁ ପଡିବ ଯେ ବଟ୍ ସାଧାରଣତ their ସର୍ଭରରେ ଚାଲୁଛି ଏବଂ କୋଡ୍ ର ମୁଖ୍ୟ ଅଂଶକୁ intered.js ଭାବରେ ଲେଖିବା ଆବଶ୍ୟକ, ଏବଂ ତାପରେ ନୋଡ୍ ବ୍ୟବହାର କରିବା ଆବଶ୍ୟକ |

  1. ବିକାଶ ପରିବେଶ କିମ୍ବା ମନୋନୀତ ପାଠ୍ୟ ସମ୍ପାଦକ ମାଧ୍ୟମରେ, ଏଡିଟିଂ ପାଇଁ ଉଲ୍ଲେଖ କରାଯାଇଥିବା ଫାଇଲ ଖୋଲନ୍ତୁ |
  2. ଅସନ୍ତୁଷ୍ଟରେ ଏକ ସଂଗୀତ ବଟ୍ ତିଆରି କରିବାକୁ କୋଡ୍ ଏଣ୍ଟ୍ରି ଫାଇଲ୍ ଖୋଲିବା |

  3. କୋଡ୍ ର ବ୍ଲକର ବ୍ଲକକୁ ସନ୍ନିବେଶ କରନ୍ତୁ ଯାହା ନିର୍ଭରଶୀଳତା ପାଇଁ ଦାୟୀ ଏବଂ ବ୍ୟବହୃତ ମଡ୍ୟୁଲ୍ଗୁଡ଼ିକୁ ସୂଚିତ କରେ:

    Constis discry = ଆବଶ୍ୟକ ('discud.js);

    cont {

    ଉପସର୍ଗ,

    ଟୋକେନ୍

    } = Info ./ confo cdoଣ। Jom ');

    cen ctdl = ଆବଶ୍ୟକ ('ytdl-core');

  4. ଅସନ୍ତୁଷ୍ଟରେ ଏକ ସଂଗୀତ ବଟ୍ ସୃଷ୍ଟି ପାଇଁ ନିର୍ଭରଶୀଳ ଘୋଷଣାନାମା କୋଡ୍ |

  5. ପୂର୍ବରୁ ନିର୍ଦ୍ଦିଷ୍ଟ ଟୋକେନଗୁଡିକର ସହାୟତା ସହିତ, ପୂର୍ବରୁ ଏକ କ୍ଲାଏଣ୍ଟ ଏବଂ ଲଗଇନ୍ ସୃଷ୍ଟି, ଯାହା କେବଳ ଦୁଇଟି ସରଳ ଧାଡ଼ି ପ୍ରବେଶ କରି ଚାଲିଥାଏ:

    Cone କ୍ଲାଏଣ୍ଟ = ନୂତନ dis discard.client ();

    ଗ୍ରାହକ। ପ୍ଲାନିନ୍ (ଟୋକେନ୍);

  6. ଅସନ୍ତୁଷ୍ଟରେ ଏକ ସଂଗୀତ ବଟ୍ ତିଆରି କରିବାକୁ ଏକ କ୍ଲାଏଣ୍ଟ ଏବଂ ଟୋକେନ୍ ଯୋଗ କରିବା |

  7. ବଟ୍ ଶୁଣିବା ପାଇଁ ଏହା କେବଳ ଶେଷ ମ basic ଳିକ ରେଖା ନିର୍ଦ୍ଦିଷ୍ଟ କରିବାକୁ ରହିଥାଏ |

    CLENT.OCE ('ପ୍ରସ୍ତୁତ' ', () => {

    Console.log ('ପ୍ରସ୍ତୁତ!');

    });

    CLENT.OCE ('ପୁନ nect ସଂଯୋଗ', () => {

    Contole.log ('ପୁନ nect ସଂଯୋଗ!');

    });

    CLENT.ONE ('ବିଚ୍ଛିନ୍ନ' ', () => {

    Console.log ('ବିଚ୍ଛିନ୍ନ!');

    });

  8. ଡିସ୍କରେ ଏକ ମ୍ୟୁଜିକାଲ୍ ବଟ୍ ତିଆରି କରିବାକୁ କୋଡ୍ ଅନ୍ତର୍ଭୂକ୍ତ କରିବା ସମୟରେ କମାଣ୍ଡ୍ |

  9. "ଫାଇଲ୍" ମେନୁ ବିସ୍ତାର କରି ପରିବର୍ତ୍ତନଗୁଡ଼ିକୁ ସେଭ୍ କରନ୍ତୁ |
  10. ଅସନ୍ତୁଷ୍ଟରେ ଏକ ସଂଗୀତ ବଟ୍ ତିଆରି କରିବାକୁ କୋଡ୍ ପରେ କୋଡ୍ ସେଭ୍ କରିବା ପରେ ସେଭ୍ କରିବା |

  11. ଏକ ସୁବିଧାଜନକ ଉପାୟରେ ପୁନର୍ବାର କୋନସୋଲକୁ ଚଲାନ୍ତୁ |
  12. ଅସନ୍ତୁଷ୍ଟରେ ଏକ ସଂଗୀତ ବଟ୍ ତିଆରି କରିବାକୁ ବଟ୍ ଟର୍ନ୍ ଅନ୍ କରିବାକୁ କମାଣ୍ଡ୍ ଲାଇନ୍ ଚଲାଇବା |

  13. ବଟ୍ ସ୍କ୍ରିପ୍ଟ ଆରମ୍ଭ କରିବା ପାଇଁ ନୋଡ୍ ଇଣ୍ଡେକ୍ସ.JS ନିର୍ଦ୍ଦେଶରେ ପ୍ରବେଶ କରନ୍ତୁ |
  14. ଅସନ୍ତୁଷ୍ଟରେ ଏକ ମ୍ୟୁଜିକାଲ୍ ବଟ୍ ସୃଷ୍ଟି କରିବାକୁ ବଟ୍ ଇନ୍ସପେକ୍ଟିଂ ଦଳ |

  15. ଯଦି ଏହାର ଫାଇଲଗୁଡ଼ିକ ବ୍ୟବହାରକାରୀଙ୍କ ହୋମ୍ ଡିରେକ୍ଟୋରୀରେ ଅବସ୍ଥିତ, ନୋଡ୍ ପରେ ସେମାନଙ୍କୁ ସମ୍ପୂର୍ଣ୍ଣ ନିର୍ଦ୍ଦିଷ୍ଟ କରିବାକୁ ପଡିବ |
  16. ଅସନ୍ତୁଷ୍ଟରେ ଏକ ସଂଗୀତ ବଟ୍ ସୃଷ୍ଟି କରିବାକୁ ଅନ୍ୟ ଏକ ବଟ୍ ସୁଇଚ୍ କମାଣ୍ଡ ପ୍ରବେଶ କରନ୍ତୁ |

  17. ବଟ୍ ର ସଫଳ ଲଞ୍ଚ ଯାହା ପ୍ରସ୍ତୁତ ଲେଖା "ପ୍ରସ୍ତୁତ!" ଦ୍ୱାରା ଦର୍ଶାଯାଇଛି!
  18. ଅସନ୍ତୁଷ୍ଟରେ ଏକ ସଂଗୀତ ବଟ୍ ସୃଷ୍ଟି କରିବାକୁ ଏକ ସଫଳ ଲଞ୍ଚର ଫଳାଫଳ |

  19. ମତଭେଦ ଖୋଲନ୍ତୁ ଏବଂ ନିଶ୍ଚିତ କରନ୍ତୁ ଯେ ବଟ୍ "ଅନଲାଇନ୍" ର ସ୍ଥିତିକୁ ଯାଇଥିଲା |
  20. ଅସନ୍ତୁଷ୍ଟରେ ଏକ ସଂଗୀତ ବଟ୍ ସୃଷ୍ଟି କରିବାକୁ ଅନଲାଇନରେ ବଟ୍ ଅନ୍ଲାଇନ୍ରେ ଯାଞ୍ଚ କରନ୍ତୁ |

ପଦାଙ୍କ 5: ସଂଗୀତ ବଟ୍ ର ମୁଖ୍ୟ କୋଡର୍ ଲେଖିବା |

ସବୁଠାରୁ ଜଟିଳ ପ୍ରକ୍ରିୟା ରହିଲା - ସଂଗୀତ ବଟ୍ ପାଇଁ ମ basic ଳିକ କୋଡ୍ ଲେଖିବା | କାର୍ଯ୍ୟଗୁଡ଼ିକର ଏକ ତାଲିକା ଅଛି ଯାହାକୁ ଏହା କରିବା ଜରୁରୀ: ବାର୍ତ୍ତା ପଠାଇବା ଏବଂ ପ୍ରକ୍ରିୟାକରଣ ନିର୍ଦ୍ଦେଶ, ଭଏସ୍ ନାମ ଏବଂ ପ୍ଲେ-ଲବ୍ୟାକ୍ ସହିତ ସଂଯୋଗ କରୁଥିବା ପରିଭାଷା, ଯାହା ଭଏସ୍ ୱ୍ୟାନେଲ୍ ଏବଂ ପ୍ଲେକ୍ ସହିତ ସଂଯୋଗ କରିଥାଏ | ଏହି ସମସ୍ତ ବଟ୍ ଉପରେ ଅନୁମତିଗୁଡ଼ିକ, ତେଣୁ ସେହିଭଳି ଜାଭାସ୍କ୍ରିପ୍ଟ କାର୍ଯ୍ୟଗୁଡ଼ିକ ବ୍ୟବହାର କରି ଆପଣଙ୍କୁ କେବଳ କାର୍ଯ୍ୟଗୁଡ଼ିକୁ ନିର୍ଦ୍ଦିଷ୍ଟ କରିବାକୁ ପଡିବ, ଯାହାକି ସମାନ "indhox.js" ଫାଇଲରେ ସଂପାଦିତ ହୋଇଥାଏ |

ଡିସ୍କିକାଲ୍ ବଟ୍ ର ସାଧାରଣ କାର୍ଯ୍ୟ ନିଶ୍ଚିତ କରିବାକୁ କୋଡ୍ ଇଡିଟିଂ କୋଡ୍ |

ବାର୍ତ୍ତା ପ read ିବା ପାଇଁ ଏକ ସରଳ ବ feature ଶିଷ୍ଟ୍ୟ ଯୋଡନ୍ତୁ:

CLENT.on ('ବାର୍ତ୍ତା', async ବାର୍ତ୍ତା => {

}

ଏଥିରେ କେବଳ ଦୁଇଟି ଲାଇନ୍ ଧାରଣ କରିଥାଏ, କିନ୍ତୁ ବଟ୍ କୁ ଏକ କଷ୍ଟମ୍ ଜିଜ୍ଞାସା ନେବାକୁ ଏବଂ ସଠିକ୍ ପ୍ରକ୍ରିୟାକରଣ କରିବାକୁ ଅନୁମତି ଦେବ | ଏହା କୁହାଯାଇପାରିବ ଯେ କ any ଣସି ପ୍ରକାରର ବଟ୍ ପାଇଁ ଏହା ସବୁଠାରୁ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ ଦଳ | ପ୍ରବେଶ କରି ଅନ୍ୟ ବଟ୍ ରୁ ବାର୍ତ୍ତା ଅଣଦେଖା କରିବା ନିଶ୍ଚିତ ହୁଅନ୍ତୁ |

ଯଦି (ବାର୍ତ୍ତା। Hauthor.bot) ଫେରନ୍ତୁ;

ଏକାସାଙ୍ଗରେ ସର୍ଭରରେ ଏକାଧିକ ବଟ୍ ବ୍ୟବହାର କରିବା ସମୟରେ ଏହା ବିବାଦକୁ ଏଡ଼ାଇଥାଏ | ପରବର୍ତ୍ତୀ ସମୟରେ, ଉପସର୍ଗ ଯାଞ୍ଚ କରିବା ଆବଶ୍ୟକ ହେବ ଯାହା ଦ୍ the ାରା ବଟ୍ ଟିମ୍ ଗ୍ରହଣ କଲେ କିମ୍ବା ପ୍ରତ୍ୟାବର୍ତ୍ତନ କରିଥିଲେ |

ଯଦି (!! ମେସେଜ୍-କଣ୍ଟେଣ୍ଟ୍ | ଷ୍ଟାର୍ଟସ୍ୱାଥ୍ (ଉପସର୍ଗ) ଫେରସ୍ତ) ଫେରସ୍ତ;

ଇମେଜ୍ ହୋଇଥିବା ନିର୍ଦ୍ଦେଶଗୁଡ଼ିକୁ ସରଳ ଇନ ଅପରେଟର୍ ବ୍ୟବହାର କରି ଆରମ୍ଭ କରିଥାଏ, ଏବଂ ଆମ କ୍ଷେତ୍ରରେ ଡିଜାଇନ୍ ଏହିପରି ଦେଖାଯାଏ:

ସ -e କନେକ୍ଟ ସର୍ଭରQuee = ceeue.get (Thite.guild.ad);

ଯଦି (ବାର୍ତ୍ତା-କଣ୍ଟେଣ୍ଟ୍ ଷ୍ଟାର୍ଟସ୍ୱାଷ୍ଟୱିଥ୍ ($ $ {ପ୍ରିଫିକ୍ସ} ପ୍ଲେ ଅଫ୍)) {

ଏକଜେକ୍ୟୁଟ୍ (ବାର୍ତ୍ତା, ସର୍ଭର);

ଫେରସ୍ତ;

} ଅନ୍ୟଥା ଯଦି (ବାର୍ତ୍ତା କୁହାଯାଏ) ଷ୍ଟାର୍ଟସ୍ୱାଷ୍ଟିଥ୍ ($ {ପ୍ରିଫିକ୍ସ} ସ୍କିପ୍ ")) {

ସ୍କିପ୍ କରନ୍ତୁ (ବାର୍ତ୍ତା, ସର୍ଭର?

ଫେରସ୍ତ;

} Else} ଅନ୍ୟଥା ଯଦି (ମେସେଜ୍. କଣ୍ଟେଣ୍ଟ୍ ଷ୍ଟାର୍ଟୱିଥ୍ (`$ {ପ୍ରିଫିକ୍ସ} ଷ୍ଟପ୍")) {

ଷ୍ଟପ୍ (ବାର୍ତ୍ତା, ସର୍ଭର);

ଫେରସ୍ତ;

} Else {

ବାର୍ତ୍ତା। Cchanel®.Send ('ଆପଣ ବିଦ୍ୟମାନ କମାଣ୍ଡ ବ୍ୟବହାର କରିବେ!')

}

ଦୟାକରି ଧ୍ୟାନ ଦିଅନ୍ତୁ ଯେ ଫଙ୍କସନ୍ ('') ଫଙ୍କସନ୍ ଉପଭୋକ୍ତାଙ୍କୁ ବାର୍ତ୍ତା ପଠାଏ କରେ ଯଦି ହଠାତ୍ ଅଣ-କାର୍ଯ୍ୟ ନିର୍ଦ୍ଦେଶରେ ପ୍ରବେଶ କରେ | ଉଦ୍ଧୃତିରେ ଲେଖା ପରିବର୍ତ୍ତନ କରି ଏହି ବାର୍ତ୍ତା ଆପଣ ସଂପାଦନ କରି ସଂପାଦନ କରିପାରିବେ |

ବର୍ତ୍ତମାନ ବଟ୍ କମାଣ୍ଡ ନିଅନା ଶିଖିଲେ, କିନ୍ତୁ ଏହା ସେମାନଙ୍କ ସହିତ ଯୋଗାଯୋଗ କରିବା ପର୍ଯ୍ୟନ୍ତ, ଯେହେତୁ କାର୍ଯ୍ୟଗୁଡ଼ିକ ନିର୍ଦ୍ଦିଷ୍ଟ ହୋଇନାହିଁ | ପ୍ରଥମେ ପ୍ଲେ କମାଣ୍ଡ ଯୋଡ, ଯାହା ପ୍ଲେବ୍ୟାକ୍ ପାଇଁ ଦାୟୀ ଅଟେ | ଏହା ପାଇଁ ନିମ୍ନଲିଖିତ ଫର୍ମ ସହିତ ଏକ ଆରେ ଆବଶ୍ୟକ ହୁଏ:

Cone ଧକ = ନୂତନ ମାନଚିତ୍ର ();

ସେ ଧାଡିରେ ଥିବା ସମସ୍ତ ଆଦେଶ ପଠାନ୍ତି ଏବଂ ଯେତେବେଳେ ପୂର୍ବ ଶେଷ ହୁଏ ସେତେବେଳେ ସେ ଗୀତଗୁଡ଼ିକୁ କେବଳ ଖେଳିବାକୁ ପଠାନ୍ତି | ଏହା ପରେ, ଏକ କାର୍ଯ୍ୟ କରିବା ପାଇଁ ଏହା ଆବଶ୍ୟକ ହେବ ଯାହା ଯାଞ୍ଚ କରିବା ଏବଂ ବ୍ୟବହାରକାରୀ ଭଏସ୍ ଚ୍ୟାନେଲ ସହିତ ସଂଯୋଗ ହୋଇଛି କି ନାହିଁ ଯାଞ୍ଚ ହେବ ଯଦି ଏହାର ଅନୁରୂପ ଅନୁମତି ଅଛି |

Async ଫଣ୍ଟ୍ ଫଙ୍କସନ୍ ଏକଜେକ୍ୟୁଟ୍ (ବାର୍ତ୍ତା, ସର୍ଭିସ୍) {|

cond args = late.conent.notipl ('');

Clice vere ଉଚ୍ଚଶିକ୍ଷିକ = ବାର୍ତ୍ତା .Monel.chiceCHANNEL;

ଯଦି (! ଭଏସନେଲ) ଫେରସ୍ତ ବାର୍ତ୍ତା .chanel®.seend ('ସଙ୍ଗୀତ ଶୁଣିବାକୁ, ତୁମେ ଭଏସ୍ ଚ୍ୟାନେଲରେ ରହିବା ଆବଶ୍ୟକ!');

const permission = vowChannel.permitions (mildame.clennt.user);

ଯଦି (! Permission.ass ('ସଂଯୋଗ') ||! Permiss.hass ('କୁହ')) {

ଫେରସ୍ତ ବାର୍ତ୍ତା। Channel.senend ('ମୋର ଭଏସ୍ ଚ୍ୟାନେଲରେ ଯୋଗଦେବା ଏବଂ କହିବା ପାଇଁ ଅନୁମତି ଦରକାର!');

}

}

ପରବର୍ତ୍ତୀ କାର୍ଯ୍ୟ - YTDL ଲାଇବ୍ରେରୀକୁ ସଂଯୋଗ କରିବା, ଯେହେତୁ ଏହି ବଟ୍ ୟୁଟ୍ୟୁବ୍ୟୁବ୍ ଠାରୁ ଲିଙ୍କ୍ ଉପରେ ଗୀତର ନାମ ପ read ିବ, ଯାହା ପରେ ଏହା ସର୍ଭରରେ ଖେଳାଯାଉଛି | ଏହା ଏକ ଛୋଟ କୋଡ୍ ସନ୍ନିବେଶ କରିବା ପାଇଁ ପଡିବ |

Cone cominfo = YTDL.GETINFO କୁ ଅପେକ୍ଷା କରନ୍ତୁ (ଆଗ୍ [1]);

Coneymy = {

ଆଖ୍ୟା: ଗୀତିନଫୋ .TITL,

URL: Songinfo.video_url,

};

ପରବର୍ତ୍ତୀ ବ୍ଲକକୁ କ୍ୟୁରେ ଗୀତ ଅଛି ଯଦି ଧାଡିଗୁଡ଼ିକରେ ଗୀତ ଅଛି କି ନାହିଁ କିମ୍ବା ଆପଣ ତୁରନ୍ତ ଭଏସ୍ ଚ୍ୟାନେଲ ସହିତ ସଂଯୋଗ କରିପାରିବେ ଏବଂ ପ୍ଲେକ୍ ଆରମ୍ଭ କରିପାରିବେ |

ଯଦି (! ସର୍ଭର୍କି) {

} Else {

Serverquee.songs.push (ଗୀତ);

Concolor.log (Servicee.songs);

ଫେରସ୍ତ ବାର୍ତ୍ତା। ଚାନେଲ.ସେଣ୍ଡ (`$ {sown.title ଧାଡିରେ ଯୋଗ କରାଯାଇଛି!`);

}

ପରବର୍ତ୍ତୀ ସମୟରେ ନଭାଇସ୍ ପ୍ରୋଗ୍ରାମରମାନଙ୍କ ପାଇଁ ଏକ ଅଳ୍ପ ଜଟିଳତା ଯାହା ଏକ କ confectraction ଣସି ଗୀତରେ ଏକ ଗୀତ ଯୋଡିଥାଏ ଏବଂ ପ୍ରତ୍ୟେକ ଥର ଆପଣ ପ୍ରବେଶ କରନ୍ତି! ଉପସ୍ଥାପିତ ମନ୍ତବ୍ୟ ପ୍ରତି ଧ୍ୟାନ ଦିଅନ୍ତୁ, ଯାହା ଆପଣଙ୍କୁ ସମସ୍ତ ସୂକ୍ଷ୍ମତା ସହିତ ମୁକାବିଲା କରିବାକୁ ଅନୁମତି ଦିଏ |

// ଧାଡି ପାଇଁ ଏକ ଚୁକ୍ତିନାମା ସୃଷ୍ଟି କରିବା |

Cone cueuecontruct = {

ଟେକ୍ସଚାନେଲ: ବାର୍ତ୍ତା। ଚାନେଲ,

ଭଏସଚାନେଲ: ଭଏସଚାନେଲ,

ସଂଯୋଗ: ନଲ୍,

ଗୀତ: [],

ଭଲ୍ୟୁମ୍: 5,

ଖେଳିବା: ସତ୍ୟ,

};

// ଆମର ଚୁକ୍ତିନାମା ସହିତ ଧାଡି ସେଟ୍ କରନ୍ତୁ |

queue.setres (Thanke.guild.id, Queucontructrct);

// ଗୀତର ଆରେରେ ରଚନା ସନ୍ନିବେଶ କରନ୍ତୁ |

cueucontruct.songs.pash (ଗୀତ);

ଚେଷ୍ଟା କରନ୍ତୁ {

// ଏଠାରେ ଆମେ ଭଏସ୍ ଚାଟ୍ ରେ ଯୋଗ ଦେବାକୁ ଚେଷ୍ଟା କରୁଛୁ ଏବଂ ବସ୍ତୁରେ ସଂଯୋଗକୁ ବଞ୍ଚାଇବାକୁ ଚେଷ୍ଟା କରୁଛୁ |

ଭର୍ ସଂଯୋଗ = ଭୋରଚନେଲକୁ ଅପେକ୍ଷା କରନ୍ତୁ |ଜିନ ();

Queucontruct.Connection = ସଂଯୋଗ;

// ଗୀତ ଆରମ୍ଭ କରିବା ପାଇଁ ପ୍ଲେକ୍ ଫଙ୍କସନ୍ କୁ ଡାକିବା |

ଖେଳ (Thite.Guild, Queucontruct.song [0]);

} ଧରିବା (err) {

// ବଟ୍ ଭଏସ୍ ଚାଟ୍ ରେ ଯୋଗଦେବାରେ ଏକ ତ୍ରୁଟି ବାର୍ତ୍ତା ପ୍ରଦର୍ଶନ କରନ୍ତୁ |

Console.log (err);

teeue.dleete (mellage.ulill.id);

ଫେରସ୍ତ ବାର୍ତ୍ତା। Channel®.Send (err);

}

କ୍ୟୁ ସହିତ ସବୁକିଛି ସ୍ପଷ୍ଟ, କିନ୍ତୁ ତଥାପି ଗୀତ ବଜାଏ ନାହିଁ, କାରଣ ପ୍ଲେ ଫଙ୍କସନ୍ ପାଇଁ କ actions ଣସି ଆସାଇନମେଣ୍ଟ ନାହିଁ | କୋଡ୍ ରେ ଏହା କରିବାକୁ ଏହା କରିବା ଆବଶ୍ୟକ |

ଫଙ୍କସନ୍ ପ୍ଲେ (ଗିଲ୍ଡ, ଗୀତ) {

ସ -eperter ଣସି ପରିବର୍ତ୍ତନ ସର୍ଭର ବିଷୟରେ = oue.get (Guild.add);

ଯଦି (! ଗୀତ) {

Serverquee.voiceChann.leave ();

Cueue.deete (Guild.add);

ଫେରସ୍ତ;

}

}

ଖେଳିବା ପ୍ଲେଷ୍ଟ୍ରିମ୍ () ଫଙ୍କସନ୍ ଏବଂ ଟ୍ରାକରେ ନିର୍ଦ୍ଦିଷ୍ଟ ଲିଙ୍କ୍ ବ୍ୟବହାର କରିବା ଆରମ୍ଭ କରେ |

କ୍ରମ ପ୍ରସ୍ଥାନ = Servquee.Connection.playstream (ytdl (sings.url))

.on ('ଶେଷ', () => {

କନସୋଲ୍ .Log ('ସଂଗୀତ ସମାପ୍ତ ହୋଇଛି!');

// ଧାଡିରୁ ସମାପ୍ତ ଗୀତ ଅପସାରଣ କରେ |

Serverquee.songs.shift ();

// ପୁନର୍ବାର ନିମ୍ନଲିଖିତ ଗୀତ ସହିତ ପ୍ଲେବ୍ୟାକ୍ ଫଙ୍କସନ୍ ସୃଷ୍ଟି କରେ |

ଖେଳ (ଗିଲ୍ଡ, Syplquee.songs [0]);

})

.on ('ତ୍ରୁଟି', ତ୍ରୁଟି => {

କନସୋଲ୍ | ଏରର୍ (ତ୍ରୁଟି);

});

dispatcher.setvolormoliitic (Servicee.sul.volume / 5);

ଯଦି ଆପଣ ଏକ ଗୀତ ସ୍କିପ୍ ଫଙ୍କସନ୍ ଯୋଡିବାକୁ ଚାହୁଁଛନ୍ତି, ଉଦାହରଣ ସ୍ୱରୂପ, ଯେତେବେଳେ ଆପଣ ଏକ ପ୍ଲେଲିଷ୍ଟ ଖେଳିବାକୁ ନିଷ୍ପତ୍ତି ନିଅନ୍ତି, ପ୍ରଥମେ ଉପଯୁକ୍ତ କମାଣ୍ଡର ଯତ୍ନ ନିଅନ୍ତୁ, ଏବଂ ତାପରେ ଏପରି ଏକ ଖଣ୍ଡ ଯୋଗକର:

ଫଙ୍କସନ୍ ସ୍କିପ୍ (ବାର୍ତ୍ତା, ସର୍ଭିସ୍) {

ଯଦି (!!mempe.mert.voiceChannel) ଫେରସ୍ତ ବାର୍ତ୍ତା। Cchanel®.seend ('ତୁମେ ସଙ୍ଗୀତ ବନ୍ଦ କରିବା ପାଇଁ ଏକ ଭଏସ୍ ଚ୍ୟାନେଲରେ ରହିବା ଉଚିତ!');

ଯଦି (! Serv returneee) ଫେରସ୍ତ ବାର୍ତ୍ତା .chanel®.send ('କ song ଣସି ଗୀତ ନାହିଁ ଯେ ମୁଁ ଏଡ଼ାଇ ପାରିବି ନାହିଁ!');

Serverquee.connection.dispatcher.eend ();

}

ପ୍ରାୟ ସମାନ ଯୋଜନାଗୁଡିକ ଷ୍ଟପ୍ ଫଙ୍କସନ୍ ମଧ୍ୟ କାମ କରେ, କିନ୍ତୁ କୋଡ୍ ସହିତ ବ୍ଲକ୍ଟି ସାମାନ୍ୟ ଭିନ୍ନ ଦୃଶ୍ୟ ହାସଲ କରେ:

ଫଙ୍କସନ୍ ଷ୍ଟପ୍ (ବାର୍ତ୍ତା, ସର୍ଭରକକ୍) {|

ଯଦି (!! ବାର୍ତ୍ତା .meMicChannel) ଫେରସ୍ତ ବାର୍ତ୍ତା | Thanelel.send ('

ସଙ୍ଗୀତ ବନ୍ଦ କରିବା ପାଇଁ ତୁମେ ଭଏସ୍ ଚ୍ୟାନେଲରେ ରହିବା ଜରୁରୀ! ');

Serverquee.songs = [];

Serverquee.connection.dispatcher.eend ();

}

ଉପରୋକ୍ତ ଉପସ୍ଥାପିତ ହୋଇଥିବା ସୂଚନା ସେହି ଉପଭୋକ୍ତାମାନଙ୍କ ପାଇଁ ଉପଯୁକ୍ତ ଅଟେ ଯେଉଁମାନେ ପୂର୍ବରୁ ଜାଭାସ୍କ୍ରିପ୍ଟ ଭାଷା ସହିତ ପରିଚିତ କିମ୍ବା କେବଳ ଏକ ସଂଗୀତ ବଟ୍ ସୃଷ୍ଟି କରିବାକୁ ସ୍ଥିର କରନ୍ତି | ଯଦି ଆପଣ ସାଧାରଣ ଏବଂ ନିର୍ଦ୍ଦିଷ୍ଟ ବ୍ଲକଗୁଡିକରେ ନିଜର କ skills ଶଳ ଦିଅନ୍ତି ନାହିଁ, ତେବେ ଆପଣ କେବଳ ଯେକ anything ଣସି ଜିନିଷରେ କ anything ଣସି ଜିନିଷକୁ ସନ୍ନିବେଶ କରନ୍ତୁ ନାହିଁ, ତେବେ ସନ୍ଦେଶଗୁଡ଼ିକୁ Russian ଷିଆକୁ ବଦଳାନ୍ତୁ) ଏବଂ ସଞ୍ଚୟ କରନ୍ତୁ | ପରିବର୍ତ୍ତନ ସମସ୍ତ ଉତ୍ସ କୋଡ୍ ଅଛି ଏହି ପ୍ରକାର ଅଛି:

ଅସନ୍ତୁଷ୍ଟରେ ଏକ ସଂଗୀତ ବଟ୍ ସୃଷ୍ଟି ପାଇଁ ସମ୍ପୂର୍ଣ୍ଣ ଉତ୍ସ ସଂକେତର ବାହ୍ୟ |

Constis discry = ଆବଶ୍ୟକ ('discud.js);

cont {

ଉପସର୍ଗ,

ଟୋକେନ୍

} = Info ./ confo cdoଣ। Jom ');

cen ctdl = ଆବଶ୍ୟକ ('ytdl-core');

Cone କ୍ଲାଏଣ୍ଟ = ନୂତନ dis discard.client ();

Cone ଧକ = ନୂତନ ମାନଚିତ୍ର ();

CLENT.OCE ('ପ୍ରସ୍ତୁତ' ', () => {

Console.log ('ପ୍ରସ୍ତୁତ!');

});

CLENT.OCE ('ପୁନ nect ସଂଯୋଗ', () => {

Contole.log ('ପୁନ nect ସଂଯୋଗ!');

});

CLENT.ONE ('ବିଚ୍ଛିନ୍ନ' ', () => {

Console.log ('ବିଚ୍ଛିନ୍ନ!');

});

CLENT.on ('ବାର୍ତ୍ତା', async ବାର୍ତ୍ତା => {

ଯଦି (ବାର୍ତ୍ତା। Hauthor.bot) ଫେରନ୍ତୁ;

ଯଦି (!! ମେସେଜ୍-କଣ୍ଟେଣ୍ଟ୍ | ଷ୍ଟାର୍ଟସ୍ୱାଥ୍ (ଉପସର୍ଗ) ଫେରସ୍ତ) ଫେରସ୍ତ;

ସ -e କନେକ୍ଟ ସର୍ଭରQuee = ceeue.get (Thite.guild.ad);

ଯଦି (ବାର୍ତ୍ତା-କଣ୍ଟେଣ୍ଟ୍ ଷ୍ଟାର୍ଟସ୍ୱାଷ୍ଟୱିଥ୍ ($ $ {ପ୍ରିଫିକ୍ସ} ପ୍ଲେ ଅଫ୍)) {

ଏକଜେକ୍ୟୁଟ୍ (ବାର୍ତ୍ତା, ସର୍ଭର);

ଫେରସ୍ତ;

} ଅନ୍ୟଥା ଯଦି (ବାର୍ତ୍ତା କୁହାଯାଏ) ଷ୍ଟାର୍ଟସ୍ୱାଷ୍ଟିଥ୍ ($ {ପ୍ରିଫିକ୍ସ} ସ୍କିପ୍ ")) {

ସ୍କିପ୍ କରନ୍ତୁ (ବାର୍ତ୍ତା, ସର୍ଭର?

ଫେରସ୍ତ;

} Else} ଅନ୍ୟଥା ଯଦି (ମେସେଜ୍. କଣ୍ଟେଣ୍ଟ୍ ଷ୍ଟାର୍ଟୱିଥ୍ (`$ {ପ୍ରିଫିକ୍ସ} ଷ୍ଟପ୍")) {

ଷ୍ଟପ୍ (ବାର୍ତ୍ତା, ସର୍ଭର);

ଫେରସ୍ତ;

} Else {

ବାର୍ତ୍ତା। ଚାନେଲ.ସେଣ୍ଡ ('ତୁମେ ଏକ ବ valid ଧ ନିର୍ଦ୍ଦେଶ ପ୍ରବେଶ କରିବାକୁ ପଡିବ!')

}

});

Async ଫଣ୍ଟ୍ ଫଙ୍କସନ୍ ଏକଜେକ୍ୟୁଟ୍ (ବାର୍ତ୍ତା, ସର୍ଭିସ୍) {|

cond args = late.conent.notipl ('');

Clice vere ଉଚ୍ଚଶିକ୍ଷିକ = ବାର୍ତ୍ତା .Monel.chiceCHANNEL;

ଯଦି (!! ଭଏସନେଲ) ଫେରସ୍ତ ବାର୍ତ୍ତା | ଚ୍ୟାନେଲ.ସେଣ୍ଡ ('ସଙ୍ଗୀତ ବଜାଇବା ପାଇଁ ଏକ ଭଏସ୍ ଚ୍ୟାନେଲରେ ରହିବା ଆବଶ୍ୟକ!');

const permission = vowChannel.permitions (mildame.clennt.user);

ଯଦି (! ଅନୁମତି) ('ସଂଯୋଗ') ||!)! ଅନୁମତି

ଫେରସ୍ତ ବାର୍ତ୍ତା। Channel®.Send ('ମୋର ଭଏସ୍ ଚ୍ୟାନେଲରେ ଯୋଗଦେବା ଏବଂ କଥା କହିବା ପାଇଁ ଅନୁମତି ଆବଶ୍ୟକ କରେ!');

}

Cone cominfo = YTDL.GETINFO କୁ ଅପେକ୍ଷା କରନ୍ତୁ (ଆଗ୍ [1]);

Coneymy = {

ଆଖ୍ୟା: ଗୀତିନଫୋ .TITL,

URL: Songinfo.video_url,

};

ଯଦି (! ସର୍ଭର୍କି) {

Cone cueuecontruct = {

ଟେକ୍ସଚାନେଲ: ବାର୍ତ୍ତା। ଚାନେଲ,

ଭଏସଚାନେଲ: ଭଏସଚାନେଲ,

ସଂଯୋଗ: ନଲ୍,

ଗୀତ: [],

ଭଲ୍ୟୁମ୍: 5,

ଖେଳିବା: ସତ୍ୟ,

};

queue.setres (Thanke.guild.id, Queucontructrct);

cueucontruct.songs.pash (ଗୀତ);

ଚେଷ୍ଟା କରନ୍ତୁ {

ଭର୍ ସଂଯୋଗ = ଭୋରଚନେଲକୁ ଅପେକ୍ଷା କରନ୍ତୁ |ଜିନ ();

Queucontruct.Connection = ସଂଯୋଗ;

ଖେଳ (Thite.Guild, Queucontruct.song [0]);

} ଧରିବା (err) {

Console.log (err);

teeue.dleete (mellage.ulill.id);

ଫେରସ୍ତ ବାର୍ତ୍ତା। Channel®.Send (err);

}

} Else {

Serverquee.songs.push (ଗୀତ);

Concolor.log (Servicee.songs);

ଫେରସ୍ତ ବାର୍ତ୍ତା। ଚାନେଲ.ସେଣ୍ଡ (`$ {sown.title ଧାଡିରେ ଯୋଗ କରାଯାଇଛି!`);

}

}

ଫଙ୍କସନ୍ ସ୍କିପ୍ (ବାର୍ତ୍ତା, ସର୍ଭିସ୍) {

ଯଦି (!!mempe.most.voichChannel) ଫେରସ୍ତ ବାର୍ତ୍ତା। Cchanelel.seend ('ସଙ୍ଗୀତକୁ ବନ୍ଦ କରିବା ପାଇଁ ଆପଣଙ୍କୁ ଏକ ଭଏସ୍ ଚ୍ୟାନେଲରେ ରହିବାକୁ ପଡିବ!');

ଯଦି (! Serv returneee) ଫେରସ୍ତ ବାର୍ତ୍ତା .chanel®.send ('କ song ଣସି ଗୀତ ନାହିଁ ଯେ ମୁଁ ଏଡ଼ାଇ ପାରିବି ନାହିଁ!');

Serverquee.connection.dispatcher.eend ();

}

ଫଙ୍କସନ୍ ଷ୍ଟପ୍ (ବାର୍ତ୍ତା, ସର୍ଭରକକ୍) {|

ଯଦି (!!mempe.most.voichChannel) ଫେରସ୍ତ ବାର୍ତ୍ତା। Cchanelel.seend ('ସଙ୍ଗୀତକୁ ବନ୍ଦ କରିବା ପାଇଁ ଆପଣଙ୍କୁ ଏକ ଭଏସ୍ ଚ୍ୟାନେଲରେ ରହିବାକୁ ପଡିବ!');

Serverquee.songs = [];

Serverquee.connection.dispatcher.eend ();

}

ଫଙ୍କସନ୍ ପ୍ଲେ (ଗିଲ୍ଡ, ଗୀତ) {

ସ -eperter ଣସି ପରିବର୍ତ୍ତନ ସର୍ଭର ବିଷୟରେ = oue.get (Guild.add);

ଯଦି (! ଗୀତ) {

Serverquee.voiceChann.leave ();

Cueue.deete (Guild.add);

ଫେରସ୍ତ;

}

କ୍ରମ ପ୍ରସ୍ଥାନ = Servquee.Connection.playstream (ytdl (sings.url))

.on ('ଶେଷ', () => {

CONSOLE.LOG ('ସଂଗୀତ ସମାପ୍ତ ହେଲା!');

Serverquee.songs.shift ();

ଖେଳ (ଗିଲ୍ଡ, Syplquee.songs [0]);

})

.on ('ତ୍ରୁଟି', ତ୍ରୁଟି => {

କନସୋଲ୍ | ଏରର୍ (ତ୍ରୁଟି);

});

dispatcher.setvolormoliitic (Servicee.sul.volume / 5);

}

ଗ୍ରାହକ। ପ୍ଲାନିନ୍ (ଟୋକେନ୍);

ସମାପ୍ତ ହେବା ପରେ, ଆପଣ ଆପଣଙ୍କ ସର୍ଭରକୁ ଯାଇପାରିବେ, ଏହା ପରେ, ଭଏସ୍ ଚ୍ୟାନେଲ ସହିତ ସଂଯୋଗ ହୋଇପାରିବ ଏବଂ ବୁଟ୍ ଉପରେ କିପରି ପ୍ରତିକ୍ରିୟା କରିବେ ତାହା ସଂଯୋଗ କରିବାର କିଛି କମାଣ୍ଡ୍ ପ୍ରବେଶ କରନ୍ତୁ |

ମତାମତରେ ଏକ ସଂଗୀତ ବଟ୍ ସୃଷ୍ଟି କରିବାକୁ ଉତ୍ସ କୋଡ୍ ଯାଞ୍ଚ ଦଳ |

ଯଦି ବଟ୍ ର ଉପରୋକ୍ତ ପ୍ରକାର ଆପଣଙ୍କ ପାଇଁ ଉପଯୁକ୍ତ ନୁହେଁ, ଆପଣ ସମାନ Github ରେ ଉତ୍ସ କୋଡ୍ ପାଇପାରିବେ ଏବଂ ସେଗୁଡ଼ିକୁ ଆପଣଙ୍କ କମ୍ପ୍ୟୁଟରରେ କପି କରିପାରିବେ | ପଞ୍ଜୀକରଣର ନୀତି ଏବଂ ଉନ୍ ଲଞ୍ଚ ସମାନ ହୋଇଥାଏ, ଯାହା ଆବଶ୍ୟକ ହୁଏ, ତେବେ କେବଳ ସମାପ୍ତ କୋଡ୍ ସଂପାଦନ କରନ୍ତୁ, ଏବଂ ତାପରେ ବଟ୍ ପରୀକ୍ଷା କରିବାକୁ ଅଗ୍ରଗତି କରନ୍ତୁ |

ଅସନ୍ତୁଷ୍ଟରେ ଏକ ସଂଗୀତ ବଟ୍ ସୃଷ୍ଟି ପାଇଁ ପ୍ରସ୍ତୁତ-ପ୍ରସ୍ତୁତ ସମାଧାନ ଖୋଜ |

ଏହି ଆର୍ଟିକିଲରେ, ଆମେ ହୋଷ୍ଟ ଉପରେ ଏକ bot ର ଡିସପ୍ଲେର୍ କୁ ପ୍ରଭାବିତ କରି ନଥିଲୁ, ଏହାକୁ ଅନ୍ୟ ଅବାଟ୍ ଏବଂ ଓପନ୍ ସାଇଟଗୁଡିକର ବ୍ୟବହାର ପାଇଁ ପ୍ରଭାବିତ କରି ନାହୁଁ, ଯେଉଁଠାରେ ଏହାକୁ ସ୍ ed ୍ଚଳ ହୋଇପାରେ | ଏସବୁ ଅଲଗା ପ୍ରକ୍ରିୟା ଯାହା କେବଳ ଯେତେବେଳେ ତୁମେ ତୁମର ଦକ୍ଷତାକୁ ବଟ ସୃଷ୍ଟି କରିବାକୁ ହୋଲ କରିଛ ଏବଂ ନେଟୱାର୍କରେ ପ୍ରକଳ୍ପ ବଣ୍ଟନ କରିବାକୁ ପ୍ରସ୍ତୁତ |

ଆହୁରି ପଢ