Skip to content

Instantly share code, notes, and snippets.

View valiafetisov's full-sized avatar

valia fetisov valiafetisov

View GitHub Profile
var login = require('facebook-chat-api')
var config = require('./config.json')
var request = require('request')
var fs = require('fs')
var Jimp = require('jimp')
var download = function (uri, filename, callback) {
request.head(uri, function (err, res, body) {
request(uri).pipe(fs.createWriteStream(filename)).on('close', callback)
})
@valiafetisov
valiafetisov / config.json
Last active April 24, 2018 15:12
getAnswer from otvet.mail.ru as a chat-bot
{
"password": "your_password",
"login": "your_login"
}
@valiafetisov
valiafetisov / bot-double-promise.js
Last active April 24, 2018 11:52
facebook chatbots
var login = require('facebook-chat-api')
var config = require('./config.json')
var util = require('util')
var loginPromise = util.promisify(login)
var setup = async function () {
var bot1 = await loginPromise({email: config.bot1.login, password: config.bot1.password})
var bot2 = await loginPromise({email: config.bot2.login, password: config.bot2.password1})
bot1.listen((err, message) => {
console.log('message', message)
@valiafetisov
valiafetisov / app.js
Last active November 9, 2017 00:16
raan-filter-example
const fetch = require('isomorphic-fetch')
const build = require('redux-object').default
const normalize = require('json-api-normalizer').default
const apiHost = 'https://dev.api.garagemca.org'
const apiEndpoint = '/document/'
const bookId = 'fff0840c-21da-4764-a91f-401548acebcc'
// the function
const filterPeople = (relations, type) => {
@valiafetisov
valiafetisov / content.md
Last active May 27, 2017 14:08
Архив занятий "Технические Основы", 2017

Все занятия теперь находятся в репозитории rodchenko/lessons вместе с примерами.

const alphabet = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя";
const factors = [[38,1,4,4], [9,2,2,5], [36,3,8], [0,7,14], [38,1,1]];
export default ЛСДУ3ЙФЯУ9 = (name) => {
// check
if(typeof name !== 'string') return console.error('name is not a string');
if(name.length > 19) return console.error('name is longer then possible');

Курс 2016 года: введение в веб программирование для художников через conversational interfaces (CI) и связь с предыдущими пройденными материалами (arduino, max msp). Часть курса "технические основы" в Школе Фотографии и Мультимедиа имени Родченко.

Список занятий:

  1. Вводное: подготовка окружения, командная строка, введение в meteor.js
  2. Простейший бот, что такое API, работа с модулями в node.js
  3. Сохранение версий программы, совместная работа и публикация кода с помощью git
  4. Работа с сохраниением данных: insert, update, find, fetch. Демострация данных
  5. Что такое NAT, какие бывают сервера, что такое ssh, ассинхронные ключи, деплой приложения