Advertisement
ArmFire1911

Nishimi_Yayudzuru.js-2018/5/30/08:17

May 30th, 2018
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //啟動模組
  2. const Discord = require('discord.js');
  3. const client = new Discord.Client({ autoReconnect: true });
  4. //於cmd回傳啟動訊息
  5. client.on("ready", () => {
  6.     //用於統計使用者
  7.     console.log(`結弦回家囉!接觸了 ${client.users.size} 位成員,看到了 ${client.channels.size} 個頻道,加入了 ${client.guilds.size} 個伺服器`);
  8.     client.user.setActivity(`陪ArmFire1911聊天`);
  9. });
  10. client.on('ready', () => {
  11.     console.log(`以 ${client.user.tag}身分登入了!`);
  12. });
  13.  
  14. //限制使用者使用的指令組
  15. const userLock = ['結弦可愛', '這...這是給我的便當嗎?', '結弦最喜歡我了,對吧!', '那個女孩很可愛呢', '我回來了', '我回來了!', '結弦,拍照~', '結弦,拍照^^']
  16. //限制不能於特定頻道使用的指令組
  17. const channelLock = ['結弦help', 'Arm語錄', 'k哥語錄', '路易斯語錄', 'papa語錄', '蒼幻語錄', '樓下支援花心圖', '其他黑歷史']
  18.  
  19. //使用者記錄模組
  20. let whoTrigger = {};
  21.  
  22. //內嵌式訊息模組
  23. function createEmbed(data) {
  24.     embed = new Discord.RichEmbed()
  25.         .setTitle('西宮結弦')
  26.         .setThumbnail(data.avatarURL)
  27.         .setColor(16750026)
  28.         .addField(data.embedTitle, data.embedContent)
  29.         .setImage(data.pictureURL)
  30.         .setFooter('來自結弦のIPhone')
  31.         .setTimestamp();
  32.     return embed;
  33. }
  34. //大頭貼網址變數
  35. const AvatarURL = '/http[s]?:\/\/.+\.((jpeg)|(jpg)|(png)|(gif)|(bmp))/';
  36. //照片網址變數
  37. const PictureURL = '/http[s]?:\/\/.+\.((jpeg)|(jpg)|(png)|(gif)|(bmp))/';
  38. //內嵌對話框標題
  39. const EmbedTitle = ' ';
  40. //內嵌對話框內文
  41. const EmbedContent = ' ';
  42. //內容
  43.  
  44. const messageData = {
  45.     //有第一層無第二層
  46.     '結弦可愛': {
  47.         execute(message) {
  48.             embedData = {
  49.                 avatarURL: 'https://i.imgur.com/vljAZT4.png',
  50.                 embedTitle: '[來自最可愛的老婆大人的訊息]',
  51.                 embedContent: '好噁心!不准靠近我四公尺以內! \n不…不過這樣子也有點可憐,不然你屏住呼吸可以再前進一公尺',
  52.                 pictureURL: ''
  53.             }
  54.             message.channel.send(createEmbed(embedData));
  55.         }
  56.     },
  57.     '這...這是給我的便當嗎?': {
  58.         execute(message) {
  59.             embedData = {
  60.                 avatarURL: 'https://i.imgur.com/vljAZT4.png',
  61.                 embedTitle: '[來自最可愛的老婆大人的訊息]',
  62.                 embedContent: '今天的便當,只是剛好有剩餘的食材才順手做的唷。 \n因為清理很麻煩,所以絕對不准你剩下來,知道了吧!',
  63.                 pictureURL: ''
  64.             }
  65.             message.channel.send(createEmbed(embedData));
  66.         }
  67.     },
  68.     '結弦最喜歡我了,對吧!': {
  69.         execute(message) {
  70.             embedData = {
  71.                 avatarURL: 'https://i.imgur.com/vljAZT4.png',
  72.                 embedTitle: '[來自最可愛的老婆大人的訊息]',
  73.                 embedContent: '別、別說傻話了……我我我都說沒有了不是嗎!?',
  74.                 pictureURL: ''
  75.             }
  76.             message.channel.send(createEmbed(embedData));
  77.         }
  78.     },
  79.     '那個女孩很可愛呢': {
  80.         execute(message) {
  81.             embedData = {
  82.                 avatarURL: 'https://i.imgur.com/vljAZT4.png',
  83.                 embedTitle: '[來自最可愛的老婆大人的訊息]',
  84.                 embedContent: '花心是不好的哦...對吧,惠勝 ^^ :knife::chicken:',
  85.                 pictureURL: ''
  86.             }
  87.             message.channel.send(createEmbed(embedData));
  88.         }
  89.     },
  90.     '我回來了!': {
  91.         execute(message) {
  92.             embedData = {
  93.                 avatarURL: 'https://i.imgur.com/bb10UWY.jpg',
  94.                 embedTitle: '[來自最可愛的老婆大人的訊息]',
  95.                 embedContent: '你要先吃飯? \n還是先洗澡? \n還是先·吃·我?',
  96.                 pictureURL: ''
  97.             }
  98.             message.channel.send(createEmbed(embedData));
  99.         }
  100.     },
  101.     '結弦,拍照~': {
  102.         execute(message) {
  103.             embedData = {
  104.                 avatarURL: 'https://i.imgur.com/vljAZT4.png',
  105.                 embedTitle: '[來自最可愛的老婆大人的訊息]',
  106.                 embedContent: '如果是你要拍的話...好吧,只有一次喔!',
  107.                 pictureURL: 'https://i.imgur.com/3g8Y8jE.png'
  108.             }
  109.             message.channel.send(createEmbed(embedData));
  110.         }
  111.     },
  112.     '結弦,拍照^^': {
  113.         execute(message) {
  114.             embedData = {
  115.                 avatarURL: 'https://i.imgur.com/vljAZT4.png',
  116.                 embedTitle: '[來自最可愛的老婆大人的訊息]',
  117.                 embedContent: '不...不行!絕對不行!!!!',
  118.                 pictureURL: 'https://i.imgur.com/kKxUFRr.jpg'
  119.             }
  120.             message.channel.send(createEmbed(embedData));
  121.         }
  122.     },
  123.     '結弦help': {
  124.         execute(message) {
  125.             message.channel.send(
  126.                 '我所撰寫的這本書 *ACGN股民語錄集* 乃集ACGN股民眾多幹話、黑歷史於一身之曠世巨作,請選擇你要查看的冊目\n' +
  127.                 '語錄組:' +
  128.                 '```' +
  129.                 'Arm語錄\n' +
  130.                 '\n' +
  131.                 'Maruze語錄\n' +
  132.                 '\n' +
  133.                 'k哥語錄\n' +
  134.                 '\n' +
  135.                 '蒼幻語錄' +
  136.                 '```' +
  137.                 '黑歷史:' +
  138.                 '```' +
  139.                 '樓下支援花心圖\n' +
  140.                 '\n' +
  141.                 '其他黑歷史\n' +
  142.                 '```');
  143.         },
  144.     },
  145.     //有第一層有同名第二層
  146.     'Arm語錄': {
  147.         execute(message) {
  148.             whoTrigger[message.author] = {
  149.                 useWhat: []
  150.             };
  151.             whoTrigger[message.author].useWhat.push('Arm語錄');
  152.             message.channel.send(
  153.                 '```' +
  154.                 '請輸入數字:\n' +
  155.                 '01.整個股市都是我的後宮\n' +
  156.                 '02.人體榨汁機' +
  157.                 '```');
  158.         },
  159.         submessageData: {
  160.             '01': {
  161.                 execute(message) {
  162.                     embedData = {
  163.                         avatarURL: 'https://i.imgur.com/vljAZT4.png',
  164.                         embedTitle: '[來自最可愛的結弦的訊息]',
  165.                         embedContent: '^^:knife::chicken:',
  166.                         pictureURL: 'https://i.imgur.com/iJe1yjY.jpg'
  167.                     };
  168.                     message.channel.send(createEmbed(embedData));
  169.                     delete whoTrigger[message.author];
  170.                 }
  171.             },
  172.             '02': {
  173.                 execute(message) {
  174.                     embedData = {
  175.                         avatarURL: 'https://i.imgur.com/vljAZT4.png',
  176.                         embedTitle: '[來自最可愛的結弦的訊息]',
  177.                         embedContent: ':look_up:',
  178.                         pictureURL: 'https://i.imgur.com/DtEzkdn.jpg'
  179.                     };
  180.                     message.channel.send(createEmbed(embedData));
  181.                     delete whoTrigger[message.author];
  182.                 }
  183.             },
  184.         }
  185.     },
  186.     'k哥語錄': {
  187.         execute(message) {
  188.             whoTrigger[message.author] = {
  189.                 useWhat: []
  190.             };
  191.             whoTrigger[message.author].useWhat.push('k哥語錄');
  192.             message.channel.send(
  193.                 '```' +
  194.                 '請輸入數字:\n' +
  195.                 '01.張開你的嘴~靠近我雙腿~\n' +
  196.                 '02.來學校就是為了要...\n' +
  197.                 '03.我覺得禱輝一定有...\n' +
  198.                 '04.我幹過...\n' +
  199.                 '05.自己都不夠吸\n' +
  200.                 '06.幹,缺錢啦' +
  201.                 '```',
  202.             );
  203.         },
  204.         submessageData: {
  205.             '01': {
  206.                 execute(message) {
  207.                     embedData = {
  208.                         avatarURL: 'https://i.imgur.com/vljAZT4.png',
  209.                         embedTitle: '[來自最可愛的結弦的訊息]',
  210.                         embedContent: '呷kㄝ肖年家~係禱灰~~~',
  211.                         pictureURL: 'https://i.imgur.com/3oh9uYz.png'
  212.                     };
  213.                     message.channel.send(createEmbed(embedData));
  214.                     delete whoTrigger[message.author];
  215.                 }
  216.             },
  217.             '02': {
  218.                 execute(message) {
  219.                     embedData = {
  220.                         avatarURL: 'https://i.imgur.com/vljAZT4.png',
  221.                         embedTitle: '[來自最可愛的結弦的訊息]',
  222.                         embedContent: '呷kㄝ肖年家~係禱灰~~~',
  223.                         pictureURL: 'https://i.imgur.com/Wt3ggTS.jpg'
  224.                     };
  225.                     message.channel.send(createEmbed(embedData));
  226.                     delete whoTrigger[message.author];
  227.                 }
  228.             },
  229.             '03': {
  230.                 execute(message) {
  231.                     embedData = {
  232.                         avatarURL: 'https://i.imgur.com/vljAZT4.png',
  233.                         embedTitle: '[來自最可愛的結弦的訊息]',
  234.                         embedContent: '呷kㄝ肖年家~係禱灰~~~',
  235.                         pictureURL: 'https://i.imgur.com/sjtUBP8.png'
  236.                     };
  237.                     message.channel.send(createEmbed(embedData));
  238.                     delete whoTrigger[message.author];
  239.                 }
  240.             },
  241.             '04': {
  242.                 execute(message) {
  243.                     embedData = {
  244.                         avatarURL: 'https://i.imgur.com/vljAZT4.png',
  245.                         embedTitle: '[來自最可愛的結弦的訊息]',
  246.                         embedContent: '呷kㄝ肖年家~係禱灰~~~',
  247.                         pictureURL: 'https://i.imgur.com/36VtpKq.png'
  248.                     };
  249.                     message.channel.send(createEmbed(embedData));
  250.                     delete whoTrigger[message.author];
  251.                 }
  252.             },
  253.             '05': {
  254.                 execute(message) {
  255.                     embedData = {
  256.                         avatarURL: 'https://i.imgur.com/vljAZT4.png',
  257.                         embedTitle: '[來自最可愛的結弦的訊息]',
  258.                         embedContent: '呷kㄝ肖年家~係禱灰~~~',
  259.                         pictureURL: 'https://i.imgur.com/FoBhCkI.jpg'
  260.                     };
  261.                     message.channel.send(createEmbed(embedData));
  262.                     delete whoTrigger[message.author];
  263.                 }
  264.             },
  265.             '06': {
  266.                 execute(message) {
  267.                     embedData = {
  268.                         avatarURL: 'https://i.imgur.com/vljAZT4.png',
  269.                         embedTitle: '[來自最可愛的結弦的訊息]',
  270.                         embedContent: '呷kㄝ肖年家~係禱灰~~~',
  271.                         pictureURL: 'https://i.imgur.com/ajFuPl7.png'
  272.                     };
  273.                     message.channel.send(createEmbed(embedData));
  274.                     delete whoTrigger[message.author];
  275.                 }
  276.             },
  277.         },
  278.     },
  279.     '路易斯語錄': {
  280.         execute(message) {
  281.             whoTrigger[message.author] = {
  282.                 useWhat: []
  283.             };
  284.             whoTrigger[message.author].useWhat.push('路易斯語錄');
  285.             message.channel.send(
  286.                 '```' +
  287.                 '請輸入數字:\n' +
  288.                 '01.加藤鷹的ㄋㄟㄋㄟ讚\n' +
  289.                 '```'
  290.             );
  291.         },
  292.         submessageData: {
  293.             '01': {
  294.                 execute(message) {
  295.                     embedData = {
  296.                         avatarURL: 'https://i.imgur.com/vljAZT4.png',
  297.                         embedTitle: '[來自最可愛的結弦的訊息]',
  298.                         embedContent: '口味真重...',
  299.                         pictureURL: 'https://i.imgur.com/yYXxCNR.jpg'
  300.                     };
  301.                     message.channel.send(createEmbed(embedData));
  302.                     delete whoTrigger[message.author];
  303.                 }
  304.             },
  305.         }
  306.     },
  307.     'papa語錄': {
  308.         execute(message) {
  309.             whoTrigger[message.author] = {
  310.                 useWhat: []
  311.             };
  312.             whoTrigger[message.author].useWhat.push('papa語錄');
  313.             message.channel.send(
  314.                 '```' +
  315.                 '請輸入數字:\n' +
  316.                 '01.性別不同怎麼談戀愛\n' +
  317.                 '02.只要是貓我都能%' +
  318.                 '```'
  319.             );
  320.         },
  321.         submessageData: {
  322.             '01': {
  323.                 execute(message) {
  324.                     embedData = {
  325.                         avatarURL: 'https://i.imgur.com/vljAZT4.png',
  326.                         embedTitle: '[來自最可愛的結弦的訊息]',
  327.                         embedContent: '股市甲甲papa狗',
  328.                         pictureURL: 'https://i.imgur.com/DtEzkdn.jpg'
  329.                     };
  330.                     message.channel.send(createEmbed(embedData));
  331.                     delete whoTrigger[message.author];
  332.                 }
  333.             },
  334.             '02': {
  335.                 execute(message) {
  336.                     embedData = {
  337.                         avatarURL: 'https://i.imgur.com/vljAZT4.png',
  338.                         embedTitle: '[來自最可愛的結弦的訊息]',
  339.                         embedContent: ':噁心papa狗:',
  340.                         pictureURL: 'https://i.imgur.com/DtEzkdn.jpg'
  341.                     };
  342.                     message.channel.send(createEmbed(embedData));
  343.                     delete whoTrigger[message.author];
  344.                 }
  345.             },
  346.         },
  347.     },
  348.     '蒼幻語錄': {
  349.         execute(message) {
  350.             whoTrigger[message.author] = {
  351.                 useWhat: []
  352.             };
  353.             whoTrigger[message.author].useWhat.push('蒼幻語錄');
  354.             message.channel.send(
  355.                 '```' +
  356.                 '請輸入數字:\n' +
  357.                 '01.警察叔叔,就是這個警察!' +
  358.                 '```'
  359.             );
  360.         },
  361.         submessageData: {
  362.             '01': {
  363.                 execute(message) {
  364.                     embedData = {
  365.                         avatarURL: 'https://i.imgur.com/vljAZT4.png',
  366.                         embedTitle: '[來自最可愛的結弦的訊息]',
  367.                         embedContent: '查無不法,謝謝指教˙ˇ˙',
  368.                         pictureURL: 'https://i.imgur.com/7Rp7fsR.png'
  369.                     };
  370.                     message.channel.send(createEmbed(embedData));
  371.                     delete whoTrigger[message.author];
  372.                 }
  373.             },
  374.         },
  375.     },
  376.     'Maruze語錄': {
  377.         execute(message) {
  378.             whoTrigger[message.author] = {
  379.                 useWhat: []
  380.             };
  381.             whoTrigger[message.author].useWhat.push('Maruze語錄');
  382.             message.channel.send(
  383.                 '```' +
  384.                 '請輸入數字:\n' +
  385.                 '01.練肌肌\n' +
  386.                 '```'
  387.             );
  388.         },
  389.         submessageData: {
  390.             '01': {
  391.                 execute(message) {
  392.                     embedData = {
  393.                         avatarURL: 'https://i.imgur.com/vljAZT4.png',
  394.                         embedTitle: '[來自最可愛的結弦的訊息]',
  395.                         embedContent: '雞鴨!',
  396.                         pictureURL: 'https://i.imgur.com/uc4kwl4.jpg'
  397.                     };
  398.                     message.channel.send(createEmbed(embedData));
  399.                     delete whoTrigger[message.author];
  400.                 }
  401.             },
  402.         },
  403.     },
  404.     '樓下支援花心圖': {
  405.         execute(message) {
  406.             whoTrigger[message.author] = {
  407.                 useWhat: []
  408.             };
  409.             whoTrigger[message.author].useWhat.push('樓下支援花心圖');
  410.             message.channel.send(
  411.                 '```' +
  412.                 '請輸入數字:\n' +
  413.                 '01.花心尼\n' +
  414.                 '02.花心被打的阿尼\n' +
  415.                 '03.花心阿姆咪\n' +
  416.                 '04.阿姆咪的花心比較級' +
  417.                 '```'
  418.             );
  419.         },
  420.         submessageData: {
  421.             '01': {
  422.                 execute(message) {
  423.                     embedData = {
  424.                         avatarURL: 'https://i.imgur.com/vljAZT4.png',
  425.                         embedTitle: '[來自最可愛的結弦的訊息]',
  426.                         embedContent: '花心阿尼4ni',
  427.                         pictureURL: 'https://i.imgur.com/dwmVnuX.png'
  428.                     };
  429.                     message.channel.send(createEmbed(embedData));
  430.                     delete whoTrigger[message.author];
  431.                 }
  432.             },
  433.             '02': {
  434.                 execute(message) {
  435.                     embedData = {
  436.                         avatarURL: 'https://i.imgur.com/vljAZT4.png',
  437.                         embedTitle: '[來自最可愛的結弦的訊息]',
  438.                         embedContent: '花心被打的阿尼:look_up:',
  439.                         pictureURL: 'https://i.imgur.com/606lQCP.png'
  440.                     };
  441.                     message.channel.send(createEmbed(embedData));
  442.                     delete whoTrigger[message.author];
  443.                 }
  444.             },
  445.  
  446.             '03': {
  447.                 execute(message) {
  448.                     embedData = {
  449.                         avatarURL: 'https://i.imgur.com/vljAZT4.png',
  450.                         embedTitle: '[來自最可愛的結弦的訊息]',
  451.                         embedContent: '花心是不好的喔,Amulet1 ^^ :knife::chicken:',
  452.                         pictureURL: 'https://i.imgur.com/Vx06cOp.jpg'
  453.                     };
  454.                     message.channel.send(createEmbed(embedData));
  455.                     delete whoTrigger[message.author];
  456.                 }
  457.             },
  458.             '04': {
  459.                 execute(message) {
  460.                     embedData = {
  461.                         avatarURL: 'https://i.imgur.com/vljAZT4.png',
  462.                         embedTitle: '[來自最可愛的結弦的訊息]',
  463.                         embedContent: '花心是不好的喔,Amulet1 ^^ :knife::chicken:',
  464.                         pictureURL: 'https://i.imgur.com/UYtMBUq.jpg'
  465.                     };
  466.                     message.channel.send(embedData ? createEmbed(embedData) : '沒有這個選項啦!');
  467.                     delete whoTrigger[message.author];
  468.                 }
  469.             },
  470.         },
  471.     },
  472.     '其他黑歷史': {
  473.         execute(message) {
  474.             whoTrigger[message.author] = {
  475.                 useWhat: []
  476.             };
  477.             whoTrigger[message.author].useWhat.push('其他黑歷史');
  478.             message.channel.send(
  479.                 '```' +
  480.                 '請輸入數字:\n' +
  481.                 '01.20噁男名單\n' +
  482.                 '02.色老頭' +
  483.                 '```'
  484.             );
  485.         },
  486.         submessageData: {
  487.             '01': {
  488.                 execute(message) {
  489.                     embedData = {
  490.                         avatarURL: 'https://i.imgur.com/vljAZT4.png',
  491.                         embedTitle: '[來自最可愛的結弦的訊息]',
  492.                         embedContent: '20噁男嘔嘔嘔嘔偶',
  493.                         pictureURL: 'https://i.imgur.com/evZLWQY.jpg'
  494.                     };
  495.                     message.channel.send(createEmbed(embedData));
  496.                     delete whoTrigger[message.author];
  497.                 }
  498.             },
  499.             '02': {
  500.                 avatarURL: 'https://i.imgur.com/vljAZT4.png',
  501.                 embedTitle: '[來自最可愛的結弦的訊息]',
  502.                 embedContent: '蘿莉控色老頭,死刑!',
  503.                 pictureURL: 'https://i.imgur.com/yNMYnve.png'
  504.             },
  505.         },
  506.     },
  507. };
  508.  
  509. //禁止頻道模組
  510. function forbid(channel) {
  511.     if ((channel.name === '蒲團') || (channel.name === 'syaro與史蒂芬妮-多拉') || (channel.name === '股市鬧鐘bot') || (channel.name === 'bugs')
  512.         || (channel.name === 'exchange-center') || (channel.name === 'countersigned') || (channel.name === 'lobby') || (channel.name === 'hall')
  513.         || (channel.name === 'har_pt') || (channel.name === 'har_manager') || (channel.name === 'plans-rule-sugguestion') || (channel.name === 'product_center')
  514.         || (channel.name === 'reports') || (channel.name === 'recieve_instantmessage') || (channel.name === '茶水間')) {
  515.         return true;
  516.     }
  517.     else {
  518.         return false;
  519.     }
  520. }
  521. //許可使用者模組
  522. function detect(author) {
  523.     if ((author.id !== '374728300662226945')) {
  524.         return true;
  525.     }
  526.     else {
  527.         return false;
  528.     }
  529. };
  530.  
  531. //指令設定區
  532. client.on('message', (msg) => {
  533.     let lit, command;
  534.     lit = msg.content;
  535.  
  536.     //偵測時間設定
  537.     function timerCleanWhoTrigger() {
  538.         whoTrigger[msg.author].timer = setTimeout(
  539.             function () {
  540.                 delete whoTrigger[msg.author];
  541.                 msg.reply('不說話就不要吵我!')
  542.             }
  543.             , 5000
  544.         );
  545.     };
  546.     function timerCleanWhoTriggerStop() {
  547.         clearTimeout(whoTrigger[msg.author].timer);
  548.     };
  549.  
  550.     //找出命令斷點
  551.     command = lit.split(/\s/)[0];
  552.  
  553.     //使用者限制載入
  554.     if (userLock.includes(command)) {
  555.         if (detect(msg.author)) {
  556.             return;
  557.         }
  558.     };
  559.     //頻道限制模組載入
  560.     if (channelLock.includes(command)) {
  561.         if (forbid(msg.channel)) {
  562.             return;
  563.         }
  564.     };
  565.     if (messageData[command] !== undefined && whoTrigger[msg.author] === undefined) {
  566.         messageData[command].execute(msg);
  567.         if (whoTrigger[msg.author] !== undefined) {
  568.             timerCleanWhoTrigger();
  569.         }
  570.     }
  571.     else if (whoTrigger[msg.author] !== undefined && whoTrigger[msg.author].useWhat !== undefined) {
  572.         timerCleanWhoTriggerStop();
  573.         let commandHandler = messageData[whoTrigger[msg.author].useWhat[0]];
  574.         for (let i = 1; i < whoTrigger[msg.author].useWhat.length; i++) {
  575.             commandHandler = commandHandler.submessageData[whoTrigger[msg.author].useWhat[i]]
  576.         }
  577.         commandHandler = commandHandler.submessageData[command];
  578.         if (commandHandler !== undefined) {
  579.             commandHandler.execute(msg);
  580.         }
  581.         else {
  582.             msg.reply('沒有這個選項啦!');
  583.             delete whoTrigger[msg.author];
  584.         }
  585.     }
  586.     else {
  587.         delete whoTrigger[msg.author];
  588.     }
  589.     console.log(
  590.         `${msg.author.username}(${msg.author})在${msg.channel}使用了 ${command}!`
  591.     );//使用紀錄
  592. });
  593.  
  594. client.login(process.env['token']);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement