diff --git a/index.js b/index.js
index 1069383c11f8fd37f415c67439ade65a4bec3def..c1d3d05493345660aa7ab73eaa7fed34e46fd81b 100644
--- a/index.js
+++ b/index.js
@@ -1,40 +1,5 @@
 const bot = require('./telegram');
 const app = require('./website');
 const mongoose = require('./mongoose');
+const { sendRequest, getBirthdays } = require('./requests');
 const Token = require('./models/Token');
-
-const rp = require('request-promise');
-
-function sendRequest(req, token, callback) {
-    const options = {
-        headers: { 'Authorization': `Bearer ${token}` },
-        json: true
-    }
-    const url = 'https://gateway.linkcs.fr/v1/graphql';
-
-
-    return rp(`${url}?query=${req}`, options)
-}
-
-
-function getBirthdays(token) {
-    req = 'query getUsersBirthday {users: usersBirthday {    ...userData}}fragment userData on User {id  firstName  lastName  roles {sector {composition {association {id}}}}}'
-    return sendRequest(req, token).then(body => {
-        const users = [];
-        body.data.users.forEach(user => {
-            use = {};
-            use.name = `${user.firstName} ${user.lastName}`;
-            use.asso = [];
-            user.roles.forEach(role => {
-                use.asso.push(role.sector.composition.association.id);
-            })
-            users.push(use);
-        });
-        return users;
-    })
-
-}
-
-// Token.findOne({ expiration: { $gt: Date.now() } }).then(token => {
-//     getBirthdays(token.token).then(a => console.log(a));
-// })
\ No newline at end of file
diff --git a/requests.js b/requests.js
new file mode 100644
index 0000000000000000000000000000000000000000..729b2cd476f377e1d655ae9f6382ee30159ccd7f
--- /dev/null
+++ b/requests.js
@@ -0,0 +1,34 @@
+const rp = require('request-promise');
+
+const Token = require('./models/Token');
+
+
+function sendRequest(req, token, callback) {
+    const options = {
+        headers: { 'Authorization': `Bearer ${token}` },
+        json: true
+    }
+    const url = 'https://gateway.linkcs.fr/v1/graphql';
+
+    return rp(`${url}?query=${req}`, options)
+}
+
+
+function getBirthdays(token) {
+    req = 'query getUsersBirthday {users: usersBirthday {    ...userData}}fragment userData on User {id  firstName  lastName  roles {sector {composition {association {id}}}}}'
+    return sendRequest(req, token).then(body => {
+        const users = [];
+        body.data.users.forEach(user => {
+            use = {};
+            use.name = `${user.firstName} ${user.lastName}`;
+            use.asso = [];
+            user.roles.forEach(role => {
+                use.asso.push(role.sector.composition.association.id);
+            })
+            users.push(use);
+        });
+        return users;
+    })
+}
+
+module.exports = { getBirthdays, sendRequest };
\ No newline at end of file
diff --git a/telegram.js b/telegram.js
index a0450dd03ee7017b0b2ee4f54e2f35e38f2b0406..4ca200831d6501e55703e5d3af9f82fb952b4ca7 100644
--- a/telegram.js
+++ b/telegram.js
@@ -3,6 +3,7 @@ const TelegramBot = require('node-telegram-bot-api');
 const Token = require('./models/Token');
 
 const config = require('./config');
+const { sendRequest, getBirthdays } = require('./requests');
 
 
 const bot = new TelegramBot(config.telegram.token, { polling: true });
@@ -53,4 +54,20 @@ bot.onText(/\/disconnect/, (msg, _) => {
     })
 });
 
+bot.onText(/\/birthdays/, (msg, _) => {
+    const chatId = msg.chat.id;
+    Token.findOne({
+        chatId: chatId,
+        expiration: { $gt: Date.now() }
+    }).then(token => {
+        return getBirthdays(token.token)
+    }).then(users => {
+        var msg = 'Joyeux anniversaire à :\n'
+        users.forEach(user => {
+            msg += `${user.name}\n`
+        });
+        bot.sendMessage(chatId, msg);
+    })
+});
+
 module.exports = bot;
\ No newline at end of file