HAVEDATE(1)

NAME
havedate - interact with dating websites

SYNOPSIS
havedate [-dqv] [-b backends] [-cnfs] [command [arguments..]]
havedate [--help] [--version]

DESCRIPTION

Console application allowing to interact with various dating websites and to optimize seduction algorithmically.

  Supported websites:
* aum ("Adopte un Mec" French dating website)
* okc (OkCupid)
* playme (PlayMe dating mobile application)
* tinder (Tinder dating mobile application)

HAVEDATE COMMANDS

events
    Display dating events.

export_all
    Export All threads

export_thread ID
    Export the thread identified by ID

list
    Display all threads.
    Default is limited to 10 results.

optim [list | start | edit | stop] BACKEND [OPTIM1 [OPTIM2 ...]]
    All dating backends offer optimization services. This command can be
    manage them.
    Use * us BACKEND value to apply command to all backends.
    Commands:
    * list list all available optimizations of a backend
    * start start optimization services on a backend
    * edit configure an optimization service for a backend
    * stop stop optimization services on a backend

photos ID
    Display photos of a profile

post RECEIVER@BACKEND[,RECEIVER@BACKEND[...]] [TEXT]
    Post a message to the specified receivers.
    Multiple receivers are separated by a comma.
    If no text is supplied on command line, the content of message is read on stdin.

profile ID
    Display a profile

query ID
    Send a query to someone.

show MESSAGE
    Read a message

status
    Display status information about a backend.

WEBOOB COMMANDS

backends [ACTION] [BACKEND_NAME]...
    Select used backends.
    ACTION is one of the following (default: list):
    * enable enable given backends
    * disable disable given backends
    * only enable given backends and disable the others
    * list list backends
    * add add a backend
    * register register a new account on a website
    * edit edit a backend
    * remove remove a backend
    * list-modules list modules

cd [PATH]
    Follow a path.
    ".." is a special case and goes up one directory.
    "" is a special case and goes home.

condition [EXPRESSION | off]
    If an argument is given, set the condition expression used to filter the results. See CONDITION section for more details and the expression.
    If the "off" value is given, conditional filtering is disabled.
    If no argument is given, print the current condition expression.

count [NUMBER | off]
    If an argument is given, set the maximum number of results fetched.
    NUMBER must be at least 1.
    "off" value disables counting, and allows infinite searches.
    If no argument is given, print the current count value.

formatter [list | FORMATTER [COMMAND] | option OPTION_NAME [on | off]]
    If a FORMATTER is given, set the formatter to use.
    You can add a COMMAND to apply the formatter change only to
    a given command.
    If the argument is "list", print the available formatters.
    If the argument is "option", set the formatter options.
    Valid options are: header, keys.
    If on/off value is given, set the value of the option.
    If not, print the current value for the option.
    If no argument is given, print the current formatter.

logging [LEVEL]
    Set logging level.
    Availables: debug, info, warning, error.
    * quiet is an alias for error
    * default is an alias for warning

ls [-d] [-U] [PATH]
    List objects in current path.
    If an argument is given, list the specified path.
    Use -U option to not sort results. It allows you to use a "fast path" to
    return results as soon as possible.
    Use -d option to display information about a collection (and to not
    display the content of it). It has the same behavior than the well
    known UNIX "ls" command.
    Default is limited to 40 results.

quit
    Quit the application.

select [FIELD_NAME]... | "$direct" | "$full"
    If an argument is given, set the selected fields.
    $direct selects all fields loaded in one http request.
    $full selects all fields using as much http requests as necessary.
    If no argument is given, print the currently selected fields.

OPTIONS

--version
    show program's version number and exit

-h, --help
    show this help message and exit

-b BACKENDS, --backends=BACKENDS
    what backend(s) to enable (comma separated)

-e EXCLUDE_BACKENDS, --exclude-backends=EXCLUDE_BACKENDS
    what backend(s) to exclude (comma separated)

-I, --insecure
    do not validate SSL

--nss
    Use NSS instead of OpenSSL

HAVEDATE OPTIONS

-E, --accept-empty
    Send messages with an empty body.

-t TITLE, --title=TITLE
    For the "post" command, set a title to message

LOGGING OPTIONS

-d, --debug
    display debug messages. Set up it twice to more verbosity

-q, --quiet
    display only error messages

-v, --verbose
    display info messages

--logging-file=LOGGING_FILE
    file to save logs

-a, --save-responses
    save every response

--export-session
    log browser session cookies after login

RESULTS OPTIONS

-c CONDITION, --condition=CONDITION
    filter result items to display given a boolean expression. See CONDITION section for the syntax

-n COUNT, --count=COUNT
    limit number of results (from each backends)

-s SELECT, --select=SELECT
    select result item keys to display (comma separated)

FORMATTING OPTIONS

-f FORMATTER, --formatter=FORMATTER
    select output formatter (atom, csv, events, htmltable, json, json_line, msg, msglist, multiline, profile, simple, table, webkit, xhtml)

--no-header
    do not display header

--no-keys
    do not display item keys

-O OUTFILE, --outfile=OUTFILE
    file to export result

CONDITION
The -c and --condition is a flexible way to filter and get only interesting results. It supports conditions on numerical values, dates, durations and strings. Dates are given in YYYY-MM-DD or YYYY-MM-DD HH:MM format. Durations look like XhYmZs where X, Y and Z are integers. Any of them may be omitted. For instance, YmZs, XhZs or Ym are accepted. The syntax of one expression is "field operator value". The field to test is always the left member of the expression.

The field is a member of the objects returned by the command. For example, a bank account has "balance", "coming" or "label" fields.

  The following operators are supported:

=   Test if object.field is equal to the value.

!=  Test if object.field is not equal to the value.

>   Test if object.field is greater than the value. If object.field is date, return true if value is before that object.field.

<   Test if object.field is less than the value. If object.field is date, return true if value is after that object.field.

|   This operator is available only for string fields. It works like the Unix standard grep command, and returns True if the pattern specified in the value is in object.field.

  Expression combination

You can make a expression combinations with the keywords " AND ", " OR " an " LIMIT ".

The LIMIT keyword can be used to limit the number of items upon which running the expression. LIMIT can only be placed at the end of the expression followed by the number of elements you want.

  Examples:
boobank ls --condition 'label=Livret A'
Display only the "Livret A" account.

boobank ls --condition 'balance>10000'
Display accounts with a lot of money.

boobank history account@backend --condition 'label|rewe'
Get transactions containing "rewe".

boobank history account@backend --condition 'date>2013-12-01 AND date<2013-12-09'
Get transactions betweens the 2th December and 8th December 2013.

boobank history account@backend --condition 'date>2013-12-01 LIMIT 10'
Get transactions after the 2th December in the last 10 transactions

COPYRIGHT
Copyright(C) 2010-2017 Romain Bignon

For full copyright information see the COPYING file in the weboob package.

FILES
"~/.config/weboob/backends"

SEE ALSO
Home page: http://weboob.org/applications/havedate